2012-09-09 40 views

回答

2

你可以輕鬆完成:

cp 1[0-9].csv /home 
cp 1.csv /home 

保存爲file.sh 然後運行作爲

$bash file.sh 

這將所有文件複製到主目錄中

+0

哈,當然:D或者比我的兩個答案更好!我要離開它,因爲有人可能會從他們身上學到東西:) – Thomas

+0

是的!你的答案包含更多的信息,學習和使用正則表達式 :) – djadmin

+0

這將無法複製'1.csv',但很容易修復,當然。 – tripleee

1

正確的做法,應始終工作:

find -regex '\./1[0-9]?\.csv' -exec cp {} destination \; 

由於find使用的完整路徑,我們必須在一開始匹配./。然後按照字面1,然後可選地(注意?)範圍0-9中的字符,最後是擴展名。任何.都必須作爲\.轉義。

對於每個匹配的文件,find將執行由-exec給出的命令,直到\;,由文件名代{}

要檢查它是否抓住了正確的文件,這樣做只是:

find -regex '\./1[0-9]?\.csv' 

更簡單的方法,即工作,如果有一個在你的目錄中沒有其他雜亂:

cp 1.csv 1?.csv destination