XARGS

포스트: 2|아이템:XARGS(2)
Tags

Posts

2 posts

[bash: find, xargs, for] find 명령으로 추려낸 여러 파일에 대해 같은 작업을 하기 위한 스크립트

반달가면|2018년 8월 13일

find 명령으로 추려낸 파일들을 xargs 명령으로 넘겨서 해당 파일들에 대해 뭔가 작업을 하기 위한 스크립트를 만들 수 있다. 우선 find에 대한 기본적인 내용은 여기로, xargs에 대한 기본적인 내용은 여기로. 작업용 스크립트의 이름을 proc.sh라고 하자. 명령어 실행은 아래와 같은 형태가 될 것이다. # my_file.txt 파일에 대한 작업 bash proc.sh my_file.txt # find 명령으로 추려낸 여러 파일에 대한 작업 find ./ -type f | xargs proc.sh # find와 grep 명령으로 .txt 파일만 추려낸 후 작업 find ./ -type f | grep "\.txt" | xargs proc.sh find 명령으로 몇개

[bash: xargs] 공백이 포함된 출력 결과를 다음 명령어의 인자로 사용

반달가면|2017년 7월 3일

간단한 내용이지만 간혹 잊어버리고 있다가 오류가 발생하는 상황이 있어서 여기에 정리해 두기로. 우선 xargs 명령에 대한 기본적인 내용은 이전 게시물을 참고하자. 여기로 예를 들어 앞 명령어의 출력이 파일명인데 이것을 xargs 명령을 통해서 인자(argument)로 넘기고자 하는 상황을 생각해 보자. 확장자가 txt인 파일만 grep으로 추려낸 후 cat으로 내용을 확인하는 경우다. 통상 아래와 같이 입력하면 될 것이다. # 현재 디렉토리에 있는 txt 파일의 내용 확인 ls | grep "\.txt" | xargs cat 만약 위와 같이 입력했는데 txt 파일 중에 파일명에 공백이 포함된 것이 있다면 해당 파일에 대해서는 cat 명령이 제대로 실행되지 않고 오류 메세지가 나올 것