您好,登錄后才能下訂單哦!
小編給大家分享一下如何通過find命令尋找文件并拷貝到一個指定目錄,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
將通過find命令找到的文件拷貝到一個新的目錄中
有這樣的一個需求,需要將一部分符合條件的文件從一個目錄拷貝到另一個目錄中,我通過find命令從源目錄查找到符合條件的文件然后使用cp命令拷貝到目標目錄:
方法一
命令如下:
find src_dir -name "access.log.2011102[2-6]*" -exec cp {} dst_dir \;
拷貝文件到遠程主機上的目標目錄的命令:
find src_dir -name "access.log.2011102[2-6]*" -exec scp {} 用戶名@主機ip:dst_dir \;
方法二
find src_dir -name "access.log.2011102[2-6]*" |xargs -i cp {} dst_dir
或
find src_dir -name "access.log.2011102[2-6]*" |xargs -I {} cp {} dst_dir
拷貝文件到遠程主機上的目標目錄的命令:
find src_dir -name "access.log.2011102[2-6]*" |xargs -i scp {} 用戶名@主機ip:dst_dir
或
find src_dir -name "access.log.2011102[2-6]*" |xargs -I {} scp {} 用戶名@主機ip:dst_dir
src_dir 源目錄
dst_dir 目標目錄
access.log.2011102[2-6]* 文件名的正則表達式,獲取文件的條件
方法三
find命令結合cp命令,拷貝某個目錄下所有文件到另一個目錄中
要求整個目錄完全拷貝到另一個目錄,并且忽略個別目錄,腳本如下:
find ./ -path '/tmp/mnt/disk1/ignore' -prune -o \( -name '*' ! -name "*.tmp" \) | xargs cp "目的目錄" "{}" \;
在上面這個腳本中,當執行到“| xargs cp”時,假設輸入的字符串類似如下:
/tmp/mnt/disk1/tt.txt
/tmp/mnt/disk1/test/dd.txt
要求執行“xargs cp”后,相應拷貝成如下的目錄結構
(即:原來disk1目錄下所有文件都拷貝到src目錄下,目錄結構不變):
/tmp/mnt/src/tt.txt
/tmp/mnt/src/test/dd.txt
看完了這篇文章,相信你對“如何通過find命令尋找文件并拷貝到一個指定目錄”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。