2/12/2015

xargs 기본사용

1. xargs 기본사용

xargs는 기본적으로 단독으로 사용하는 command가 아니며 다른 command과 조합으로 사용한다.

xargs에서 다른 command를 실행하면, 표준입력으로 값으로 들어온 값을 그대로 command로 넘겨준다. 그래서 이름 xargs 인 것 같다.
결론적으로 xargs의 command는 표준입력의 넘어온 list의 제한적인 검색 또는 실행을 한다.

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


SYNOPSIS
       xargs  [-0prtx] [-E eof-str] [-e[eof-str]] [--eof[=eof-str]] [--null] [-d delimiter] [--delimiter delimiter] [-I replace-str] [-i[replace-str]] [--replace[=replace-str]] [-l[max-lines]]
       [-L max-lines] [--max-lines[=max-lines]] [-n max-args] [--max-args=max-args] [-s max-chars] [--max-chars=max-chars] [-P max-procs]  [--max-procs=max-procs]  [--interactive]  [--verbose]
       [--exit] [--no-run-if-empty] [--arg-file=file] [--show-limits] [--version] [--help] [command [initial-arguments]]


2. 기본예제


$ find . -name "*.o" | xargs rm -rf
$ ls "*.o" | xargs rm -rf

위 예제가 제대로 동작이 안될 때 아래와 같이 한다.
왜냐하면 find를 검색은 기본적으로 newline을 포함하지만 -print0 은 이를 제거한다.

$ find /tmp -name "*.tmp" -print0 | xargs -0 rm

  • 각 directory의 전체 사이즈를 알고 싶을 경우.

$ ls | xargs du -hs 

http://www.dreamy.pe.kr/zbxe/CodeClip/164220
http://www.thegeekstuff.com/2013/12/xargs-examples/

댓글 없음 :