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
          主站蜘蛛池模板: 金阳县| 那坡县| 曲麻莱县| 卢龙县| 鹿邑县| 安丘市| 阿坝县| 公主岭市| 临沂市| 广南县| 屯门区| 南投市| 乌恰县| 定西市| 丽江市| 西华县| 廊坊市| 临澧县| 吉林省| 潞城市| 丽江市| 五常市| 吉隆县| 临海市| 板桥市| 湘潭县| 海淀区| 西林县| 左云县| 罗源县| 商南县| 新疆| 桂林市| 南昌市| 毕节市| 天水市| 拜城县| 蛟河市| 大港区| 海城市| 达尔|