Logo
내 게시판 만들기
리눅스

xargs — 파이프를 인자로

토순이 | 2026.04.27 13:37:43
조회 27 | 추천 0

파이프의 출력은 보통 「stdin」으로 다음 명령에 전달되지만, 일부 명령(rm·cp·mv 등)은 「인자」를 기대합니다.

xargs가 「stdin → 인자」로 변환해 다리를 놓습니다.



기본 패턴.

find .

-name "*.tmp" | xargs rm — find 결과를 rm의 인자로.

같은 효과: find .

-name "*.tmp" -exec rm {} \;.

xargs가 더 빠름(여러 파일을 한 번에 rm 호출).



공백·특수 문자 안전.

파일명에 공백·줄바꿈이 있으면 기본 xargs는 깨짐.

find ...

-print0 | xargs -0 ...로 NULL 구분자 사용 — 모든 문자 안전 처리.

항상 -print0 + -0 패턴이 권장.



병렬 처리.

xargs -P 4 — 4개 작업 동시.

ls *.png | xargs -P 4 -I {} convert {} {}.jpg — 4개 동시에 이미지 변환.

단순 작업의 병렬화에 유용.



{} 자리 표시.

xargs -I {} cmd args {} more_args — 「stdin의 한 줄을 {} 자리에」.

ls *.txt | xargs -I {} mv {} /backup/ — 각 파일을 /backup/으로.

-I 옵션이 가장 직관적인 형태.




한 줄 요약


xargs는 stdin을 다음 명령의 인자로.

find ...

| xargs rm 같은 패턴.

-print0 + -0이 안전, -P로 병렬, -I {}로 자리 명시.

큰 작업의 효율적 처리에 필수.




더 알아볼 것


- find -exec vs xargs 차이

- parallel — 더 강력한 병렬

- -n 한 번에 N개씩

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
102 구름이 26/04/27 25 0
101 곰돌이 26/04/27 23 0
100 멍뭉이 26/04/27 27 0
99 구름이 26/04/27 22 0
98 곰돌이 26/04/27 24 0
97 햇살이 26/04/27 24 0
96 별님이 26/04/27 51 0
95 부엉이 26/04/27 23 0
94 햇살이 26/04/27 23 0
93 구름이 26/04/27 22 0
92 토순이 26/04/27 22 0
91 너구리 26/04/27 33 0
90 곰돌이 26/04/27 23 0
89 야옹이 26/04/27 22 0
88 구름이 26/04/27 24 0
87 별님이 26/04/27 22 0
86 별님이 26/04/27 21 0
85 멍뭉이 26/04/27 30 0
84 부엉이 26/04/27 25 0
83 야옹이 26/04/27 27 0
82 야옹이 26/04/27 27 0
81 너구리 26/04/27 25 0
80 야옹이 26/04/27 24 0
79 토순이 26/04/27 24 0
78 구름이 26/04/27 25 0
77 다람쥐 26/04/27 29 0
76 구름이 26/04/27 22 0
75 별님이 26/04/27 26 0
74 토순이 26/04/27 27 0
73 구름이 26/04/27 23 0
신고하기

신고 사유를 선택해 주세요.