find命令結合cp bash mv 命令使用的4種方式


工作經常需要用find結合其它命令一起使用,下面介紹4種結合方式.

例: 用find查找/data目錄下,以.txt文件結尾的文件並復制到/tmp下

方法一

find與|xargs是黃金搭檔,-t 參數指定目標目錄(效率高,因為 xargs 會讓命令作為一行來執行.)

[root@Jonnyan ~]# find /data/ -type f -name"*.txt" | xargs cp -t /tmp

方法二

{} 大括號里的內容為find命令找到的結果(效率低,因為 exec 會讓命令分多次執行.)

[root@Jonnyan ~]# find /data/ -type f -name"*.txt" -exec cp {} /tmp \;

方法三

$()= 存放命令的執行結果

[root@Jonnyan ~]# cp $(find /data/ -type f -name"*.txt") /tmp

方法四

-i 參數指定找到的結果放到{}中

[root@Jonnyan ~]# find/data/ -type f -name "*.txt" | xargs -i cp{} /tmp

find 排除多個目錄

find /tmp/jonny \( -path /tmp/jonny/dir1 -o -path /tmp/jonny/file1 \) -prune -o -name "*" -print

  • 在 shell 中,"與" 和 "或" 有兩種表達方式。
  • 在 shell 中,"與" 的運算符為 "-a",同時,"與" 的邏輯運算符也可以用 "&&" 表示。
  • 在 shell 中,"或" 的運算符為 "-o",同時,"或" 的邏輯運算符也可以用 "||" 表示。
    解釋參考:http://www.zsythink.net/archives/1154


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM