리눅스 명령어 xargs 사용법
소개
리눅스에서 명령어를 사용할 때, 특정 명령어의 결과를 다른 명령어의 입력으로 사용해야 할 때가 있습니다. 이때 xargs 명령어를 사용하면 매우 편리합니다. 이번 글에서는 xargs 명령어를 사용하는 방법과 유용한 예제들을 알아보겠습니다.
xargs 명령어란?
xargs 명령어는 standard input에서 데이터를 읽어서 argument list를 만들어 다른 명령어에 전달하는 역할을 합니다. 즉, 이전 명령어의 결과를 다음 명령어로 전달할 수 있도록 도와주는 역할을 합니다.
예제 1: 파일 삭제
가끔 파일을 삭제해야 할 때가 있습니다. 하지만 삭제하려는 파일이 많아서 일일이 삭제하기 힘든 경우도 있습니다. 이때 xargs 명령어를 사용하면 매우 편리합니다. 아래의 명령어는 현재 디렉토리에서 .txt 확장자를 가진 모든 파일을 삭제하는 명령어입니다.
find . -name "*.txt" | xargs rm
위 명령어에서 find 명령어는 현재 디렉토리에서 .txt 확장자를 가진 파일을 찾아서 standard output으로 출력합니다. 그리고 이 출력된 결과를 xargs 명령어의 argument로 전달하여 rm 명령어로 파일을 삭제합니다.
예제 2: 파일 복사
xargs 명령어를 사용하면 파일을 복사하는 것도 쉽습니다. 아래의 명령어는 현재 디렉토리에서 .txt 확장자를 가진 모든 파일을 /tmp 디렉토리로 복사하는 명령어입니다.
find . -name "*.txt" | xargs -I {} cp {} /tmp
위 명령어에서 -I 옵션은 xargs 명령어에서 argument list를 만들 때, 중괄호({})로 감싼 부분을 대체할 문자열을 지정합니다. 위 명령어에서는 중괄호를 {}로 지정하였으므로, find 명령어에서 출력된 파일 경로를 {}로 대체하여 cp 명령어로 파일을 복사합니다.
예제 3: 파일 이름 변경
xargs 명령어를 사용하면 파일 이름을 일괄적으로 변경하는 것도 쉽습니다. 아래의 명령어는 현재 디렉토리에서 .txt 확장자를 가진 모든 파일의 파일명에서 .txt를 .md로 변경하는 명령어입니다.
find . -name "*.txt" | xargs -I {} mv {} {}-new.md
위 명령어에서는 find 명령어로 .txt 확장자를 가진 파일을 찾아서 standard output으로 출력합니다. 그리고 xargs 명령어의 argument로 출력된 파일 경로를 전달하여 mv 명령어로 파일 이름을 변경합니다.
결론
이번 글에서는 xargs 명령어를 사용하는 방법과 유용한 예제들을 알아보았습니다. xargs 명령어는 리눅스에서 명령어를 사용할 때, 이전 명령어의 결과를 다음 명령어로 전달할 수 있도록 도와주는 매우 유용한 명령어입니다.
'IT > Linux and RaspberryPi' 카테고리의 다른 글
Raspberry Pi ssh port 변경 방법 (0) | 2023.03.17 |
---|---|
리눅스, 라즈베리 파이 명령어 rename 사용법 (0) | 2023.03.11 |
리눅스 명령어 tee 사용법 (0) | 2023.03.10 |
리눅스 명령어 cut 사용법 (0) | 2023.03.10 |
리눅스 명령어 awk 사용법 (0) | 2023.03.10 |