通過(guò)find命令尋找文件并拷貝到一個(gè)指定目錄方法詳解
發(fā)布時(shí)間:2012-11-15 10:38:30 作者:佚名
我要評(píng)論

有這樣的一個(gè)需求,需要將一部分符合條件的文件從一個(gè)目錄拷貝到另一個(gè)目錄中,可以通過(guò)使用find命令從源目錄查找到符合條件的文件然后使用cp命令拷貝到目標(biāo)目錄
將通過(guò)find命令找到的文件拷貝到一個(gè)新的目錄中
有這樣的一個(gè)需求,需要將一部分符合條件的文件從一個(gè)目錄拷貝到另一個(gè)目錄中,我通過(guò)find命令從源目錄查找到符合條件的文件然后使用cp命令拷貝到目標(biāo)目錄:
方法一
命令如下:
find src_dir -name "access.log.2011102[2-6]*" -exec cp {} dst_dir \;
拷貝文件到遠(yuǎn)程主機(jī)上的目標(biāo)目錄的命令:
find src_dir -name "access.log.2011102[2-6]*" -exec scp {} 用戶名@主機(jī)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
拷貝文件到遠(yuǎn)程主機(jī)上的目標(biāo)目錄的命令:
find src_dir -name "access.log.2011102[2-6]*" |xargs -i scp {} 用戶名@主機(jī)ip:dst_dir
或
find src_dir -name "access.log.2011102[2-6]*" |xargs -I {} scp {} 用戶名@主機(jī)ip:dst_dir
src_dir 源目錄
dst_dir 目標(biāo)目錄
access.log.2011102[2-6]* 文件名的正則表達(dá)式,獲取文件的條件
方法三
find命令結(jié)合cp命令,拷貝某個(gè)目錄下所有文件到另一個(gè)目錄中
要求整個(gè)目錄完全拷貝到另一個(gè)目錄,并且忽略個(gè)別目錄,腳本如下:
find ./ -path '/tmp/mnt/disk1/ignore' -prune -o \( -name '*' ! -name "*.tmp" \) | xargs cp "目的目錄" "{}" \;
在上面這個(gè)腳本中,當(dāng)執(zhí)行到“| xargs cp”時(shí),假設(shè)輸入的字符串類似如下:
/tmp/mnt/disk1/tt.txt
/tmp/mnt/disk1/test/dd.txt
要求執(zhí)行“xargs cp”后,相應(yīng)拷貝成如下的目錄結(jié)構(gòu)
(即:原來(lái)disk1目錄下所有文件都拷貝到src目錄下,目錄結(jié)構(gòu)不變):
/tmp/mnt/src/tt.txt
/tmp/mnt/src/test/dd.txt
有這樣的一個(gè)需求,需要將一部分符合條件的文件從一個(gè)目錄拷貝到另一個(gè)目錄中,我通過(guò)find命令從源目錄查找到符合條件的文件然后使用cp命令拷貝到目標(biāo)目錄:
方法一
命令如下:
find src_dir -name "access.log.2011102[2-6]*" -exec cp {} dst_dir \;
拷貝文件到遠(yuǎn)程主機(jī)上的目標(biāo)目錄的命令:
find src_dir -name "access.log.2011102[2-6]*" -exec scp {} 用戶名@主機(jī)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
拷貝文件到遠(yuǎn)程主機(jī)上的目標(biāo)目錄的命令:
find src_dir -name "access.log.2011102[2-6]*" |xargs -i scp {} 用戶名@主機(jī)ip:dst_dir
或
find src_dir -name "access.log.2011102[2-6]*" |xargs -I {} scp {} 用戶名@主機(jī)ip:dst_dir
src_dir 源目錄
dst_dir 目標(biāo)目錄
access.log.2011102[2-6]* 文件名的正則表達(dá)式,獲取文件的條件
方法三
find命令結(jié)合cp命令,拷貝某個(gè)目錄下所有文件到另一個(gè)目錄中
要求整個(gè)目錄完全拷貝到另一個(gè)目錄,并且忽略個(gè)別目錄,腳本如下:
find ./ -path '/tmp/mnt/disk1/ignore' -prune -o \( -name '*' ! -name "*.tmp" \) | xargs cp "目的目錄" "{}" \;
在上面這個(gè)腳本中,當(dāng)執(zhí)行到“| xargs cp”時(shí),假設(shè)輸入的字符串類似如下:
/tmp/mnt/disk1/tt.txt
/tmp/mnt/disk1/test/dd.txt
要求執(zhí)行“xargs cp”后,相應(yīng)拷貝成如下的目錄結(jié)構(gòu)
(即:原來(lái)disk1目錄下所有文件都拷貝到src目錄下,目錄結(jié)構(gòu)不變):
/tmp/mnt/src/tt.txt
/tmp/mnt/src/test/dd.txt
相關(guān)文章
linux下使用find命令根據(jù)系統(tǒng)時(shí)間查找文件用法
這篇文章主要為大家介紹了find 命令有幾個(gè)用于根據(jù)您系統(tǒng)的時(shí)間戳搜索文件的選項(xiàng),需要的朋友可以參考下2013-11-18- linux的系統(tǒng)中的文件實(shí)在是太多了,怎么樣才能快速而且精確的在linux系統(tǒng)找出你想要的文件呢?Linux 的find命令提供了很強(qiáng)大的功能,學(xué)好find命令的使用,可以給你節(jié)省大量2013-09-23
- Linux中查找文件的命令通常為find命令,find命令能幫助我們?cè)谑褂?管理Linux的日常事務(wù)中方便的查找出我們需要的文件2013-08-14
find 按文件修改時(shí)間查找文件及find空文件夾
find 按文件修改時(shí)間查找文件及find空文件夾,供大家學(xué)習(xí)參考2013-02-13- find命令查找比某個(gè)文件新或舊的文件,有需要的朋友可以參考下2013-01-29
linux系統(tǒng)中批量查找文件與文件內(nèi)容的方法
在linux中查看與修改文件權(quán)限我們都必須使用命令來(lái)操作,不能像windows一樣點(diǎn)幾下就好了,下面我們簡(jiǎn)單的介紹一下linux中的相關(guān)命令2012-12-24- 這篇文章主要介紹了,Linux中find常見(jiàn)用法示例,需要的朋友可以參考下2014-04-01
- find是我們很常用的一個(gè)Linux命令,但是我們一般查找出來(lái)的并不僅僅是看看而已,還會(huì)有進(jìn)一步的操作,這個(gè)時(shí)候exec的作用就顯現(xiàn)出來(lái)了2014-04-08