2012年11月20日 星期二

xargs 好文章


xargs

xargs用來處理一些輸出結果要來當另一個輸入的arguments碰到的問題。 例如
      # find /usr/include/ -name "*.h" | xargs -n 2 diff
-n2是指定有兩兩當成輸出變成diff的argumnets
      # find /usr/include/ -name "*.h" | xargs grep '#ifdef'
正常內定是輸出的一拖拉窟的結果,有用xargs時是一個一個餵給後面的命令
      # find /usr/include/ -name "*.h" | xargs -i cp {} ~/include/
-i 與 { }可以把find的輸出的每一個當成cp的第一個argument, /.就可以當成第 二個argument。 其實find裡面有-exec這個選項後面也可以用{ }表示一個一個餵給後面程式,而不是 一拖拉庫的餵給後面程式。
      # find /usr/include/ -name "*.h" -exec cp {} ~/include/

文章出自http://www.study-area.org/cyril/scripts/scripts/node30.html

沒有留言:

張貼留言