zhyiwww
          用平實的筆,記錄編程路上的點點滴滴………
          posts - 536,comments - 394,trackbacks - 0
          linux 命令find可以用來查找匹配文件,然后再執行一些相應的操作,使用起來很方便。
          如果能把把查到的文件路徑以參數的名稱直接傳遞給后面的命令,類似管道的方式的話就更方便了。

          find的幫助文件里面有這樣的一個例子:

          find /tmp -name core -type f -print0 | xargs -0 /bin/rm -f

          很顯然,find查到匹配的文件后,就執行了xargs做為了 rm命令的第一參數,也是最后一個參數。所以,可以順利地執行。

          假設,我想把匹配的文件復制到一個地方,該怎么辦呢?問題的難點是:cp命令需要兩個參數,如果你直接,用上面的方式,那么你xargs是作為第一參數呢,還是第二參數呢?

          XXXX@XXXX-desktop:/tmp/shp_data$ find . -path .*line.*  | xargs  cp   /tmp
          cp: target `./guangxi/Back/Bguangxi_polyline.dbf' is not a directory
          XXXX@XXXX-desktop:/tmp/shp_data$


          所有,就需要讓cp知道你的參數順序,可以用下面的方法來實現:

          XXXXX@XXXXX-desktop:/tmp/shp_data$ find . -path .*line.*  |  cp `xargs`  /tmp



















          |----------------------------------------------------------------------------------------|
                                     版權聲明  版權所有 @zhyiwww
                      引用請注明來源 http://www.aygfsteel.com/zhyiwww   
          |----------------------------------------------------------------------------------------|
          posted on 2009-12-17 11:04 zhyiwww 閱讀(2068) 評論(0)  編輯  收藏 所屬分類: linux
          主站蜘蛛池模板: 克东县| 绥中县| 淅川县| 沅陵县| 鸡东县| 赤壁市| 清水县| 牙克石市| 迁安市| 固原市| 太仆寺旗| 延庆县| 涿州市| 百色市| 永康市| 锦屏县| 卢氏县| 汉沽区| 山东省| 通榆县| 武鸣县| 辉南县| 吴忠市| 临汾市| 荣成市| 柏乡县| 永泰县| 彭州市| 新晃| 浑源县| 聊城市| 鹤山市| 博客| 五大连池市| 渝中区| 仙游县| 英山县| 枣阳市| 兴山县| 滕州市| 泰来县|