next up previous contents
Next: 簡單數學 Up: 外部命令 Previous: find   Contents

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/



Cyril Huang 2002-06-14