find命令-exec選項,find命令配合xargs

一、find命令-exec選項
這裏只說兩點:find正則匹配搜索,以及-exec選項
1.正則匹配查找
find /etc/ -type f -name "s*" ##在/etc/目錄下搜索以s爲文件名開頭的文件;
注意:如果文件名使用正則匹配,那麼需要加雙引號,否則會報錯;這裏只列舉了通配匹配方式,其他正則方式如"[ab].sh",“s?”等不再介紹;
2.使用-exec選項
find ./ -type f -name "1*" -exec cp {} /root \;
# #在當前目錄下搜索以1爲文件名開頭的文件,並複製到/root目錄下;
1)選項-exec,後面跟要執行的shell命令,{} 花括號代表前面find查找出來的文件名,即把搜索的文件名放到花括號中,注意反斜槓\和分號;之間沒有空格,這種用法通常是把搜索的結果做處理;

二、find命令配合xargs
find ./ -type f -name "1*" | xargs -i cp {} /tmp ##在當前目錄下搜索以1爲文件名開頭的文件,並複製到/tmp目錄下;

三、總結
1.使用-exec選項,此選項是把參數一個一個傳遞給shell名,即傳遞一個文件名執行一次cp命令;
2.而xargs命令,是把參數一次性傳遞,即把搜索的所有文件名一次×××給cp命令處理;
https://blog.csdn.net/kevin3101/article/details/79802690
這裏介紹了exec命令和bash命令的區別,是從shell進程角度解釋的(注意是命令,不是find的-exec選項)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章