linux find 拷贝,通过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
總結
以上是生活随笔為你收集整理的linux find 拷贝,通过find命令寻找文件并拷贝到一个指定目录方法详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深圳市收运体系运营管理_华为公司质量管理
- 下一篇: dockers log查询dockers