[Mac, Linux] paste 명령으로 rename 용 sh 스크립트 작성해 보기
By 지훈현서 | 2020년 5월 12일 |
다음과 같은 100여개의 이미지 파일이 있었습니다. 01-0010.png01-0020.png01-0030.png...01-1000.png 이 파일을 모두02-0010.png02-0020.png02-0030.png...02-1000.png 이라고 이름을 바꾸고 싶은데요, 저는 손이 게을러서 노가다를 못 뛰어요.그래서 다음과 같이 작업했습니다. $ ls *.png > foo.sh그러면 foo.sh 에는 한라인에 하나의 파일이 들어있게 됩니다. 이제 bar.sh 라고 foo.sh를 복사해 줍니다. $ cp foo.sh bar.sh 그리고 vi로 bar.sh 를 열어,다음 ex 명령어를 줍니다. : %s/^01/02/g 그러면 01로 시작되는 것을 모두 02 로 변경하였습니다. 이제는 pa
[bash: awk] 다수의 문자열을 검색하여 일치하는 부분만 출력하기(match, substr)
By 반달가면 | 2018년 12월 27일 |
우선, awk에서 match 함수와 substr 함수를 활용해서 특정 문자열 패턴을 검색하고 일치하는 부분만 출력하는 방법은 이전 게시물을 참고하자. 여기로. 일단 기본적인 예시는 아래와 같다. 행 전체($0)에서 문자열 "abc"가 있으면 일치하는 부분만 출력한다. echo "abcdefg" | awk 'match($0,/abc/) { print substr($0,RSTART,RLENGTH) }' abc 여기서는 입력에 대해 검색하고자 하는 문자열 패턴이 여러개일 경우를 생각해 보려고 한다. 예를 들어 탭(tab)을 항목 구분자(field separator)로 사용하는 입력에서 두번째 항목($2)에 문자열 "abc"가 있는지 확인하고 세번째 항목($3)에 3개의 연속된 수자(정규표현식
[bash: $()] 역따옴표(`)를 중첩해서 사용하고 싶을 경우
By 반달가면 | 2019년 3월 22일 |
리눅스 bash shell에서 특정 명령어의 결과를 변수에 할당하거나 다른 명령어의 인자(argument)로 사용하고 싶을 때 역따옴표(`)를 사용하게 된다. # ls 명령의 결과 출력에서 마지막 줄을 변수 x에 할당 x=`ls | tail -1` 그런데, 역따옴표 안에 다시 역따옴표를 사용하고 싶은 경우가 생겼을 경우에는 대신에 "$(명령어)" 형태를 사용하면 되겠다. 기능은 역따옴표와 동일하나 중첩해서(nest) 사용할 수 있다. # ls 명령의 결과 출력에서 마지막 줄을 변수 x에 할당 x=$(ls | tail -1) 예시가 좀 억지스럽긴 한데 겹쳐서 사용하는 경우를 만들어 보자면 아래와 같이 해 볼 수 있을 것이다. # 문자열 "txt"를 출력해서 grep의 인자로 사
[Linux][Kernel] ftrace - Workqueue 워크큐 로그 분석 - 1
By Guillermo Austin Kim | 2017년 12월 13일 |
리눅스 커널의 매우 중요한 Subsystem인 워크큐. 이번에는 잠깐 ftrace 로그에서 workqueue에 대해 분석을 해보려고 해요.ftrace 세팅은 Appendix [1]을 참고하시구요. 아래 로그는 보자마자 느낄 수 있는 건 irq/225-touch-279란 irq_thread에서 워크 큐를 큐잉하고 이 후 워크큐가 실행된다는 걸 알 수 있죠. irq/225-touch-279 [006] 53516.537609: workqueue_queue_work: work struct=0xed845d58 function=touch_update_work workqueue=0xed80cc00 req_cpu=8 cpu=6 //<<--[1] irq/225-touch-279 [006] 53