명령어/Linux

[리눅스] xargs 표준입력 인자 변환 실행

jykim23 2026. 7. 9. 11:05
반응형

부제: 파이프로 들어온 목록을 다음 명령의 인자로 넘기기

find . -name "*.log" | xargs rm     # 찾은 파일을 rm 인자로
ls *.txt | xargs -n1 gzip           # 하나씩 처리
$ echo a b | xargs -n1 echo item:
item: a
item: b

어떤 명령은 표준입력이 아니라 인자로 값을 받는다(rm·cp 등).
xargs는 파이프로 들어온 목록을 그 인자로 바꿔 준다.
-n1은 하나씩, -I{}는 자리표시자, -0은 공백·개행이 든 파일명을 안전하게 다룬다.

이렇게도 쓴다

파일명에 공백·개행이 있어도 안전하게 넘긴다(find -print0 조합).

find . -name "*.log" -print0 | xargs -0 rm

 

자리표시자로 각 항목을 원하는 위치에 끼운다.

ls *.jpg | xargs -I{} cp {} backup/

 

목록을 한 줄에 하나씩 처리한다.

cat urls.txt | xargs -n1 curl -O

 

여러 개를 한 번에 넘겨 명령 호출 횟수를 줄인다.

find . -name "*.o" | xargs rm

 

여러 개를 병렬로 처리한다(-P).

ls *.png | xargs -P4 -I{} convert {} {}.webp
반응형