$ find ./ -name "*.tmp" | xargs rm
$ find ./ -name "*.tmp" -exec rm {} \;
언뜻보면 -exec를 쓰면 되는데 왜 xargs를 쓰는지에 대해 의심할 수 있다.
find 명령은 -exec를 사용할 수 있기 때문에 xargs의 필요성이 없어보일 수 있으나 다른
명령의 경우는 사정이 달라진다.
예를 들면, xargs와 함께 다음의 명령을 사용할 수 있다.
ls *.tmp | xargs cat
다시 말해 ls 명령은 -exec와 함께 쓸 수 없다는 뜻이다.
또 다른 차이점은 find ~ -exec rm 과 같은 형식을 사용하면 파일을 찾아낸 후
파일마다 rm 명령이 실행되어 시스템에 부하가 크다.
또 다른 차이점은, find ~ -exec rm 과 같은 형식을 사용하면 명령의 길이가 너무 길
때 에러가 생길 수 있다는 점이다.
참고: 리눅스 맨페이지에 있는 xargs 명령 예제
$ find /tmp -name core -type f -print | xargs /bin/rm -f $ find /tmp -name core -type f -print0 | xargs -0 /bin/rm -f |