看板 Linux 關於我們 聯絡資訊
大家好 我要問一下很基本的問題 我知道複製是用cp的指令 cp (-r) /locationA/filename /locationB/filename 這樣 現在我想要問的是 如果我只想要複製這個檔案夾裡面的 特定幾個檔案 要怎麼下指令?? 比如說 /locationA/file1 /locationA/file2 /locationA/file3 要複製到 /locationB/file1 /locationB/file2 /locationB/file3 要怎麼下指令? 還是只有一個一個複製這樣子? 上面的例子是三個 可是要是有幾千個 不就複製到手指抽筋...囧 感謝各位大大解答~ -- ◢███◣ 真是太令我興奮了,教授BOY~~ █████ █▉◥█◤ 覆蓋一張空白考卷在桌上 結束這學期 ██ ◤ \ ◤◤╲╰┤ ㊣ justlasai -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.104.138.200
noonee:cp /locationA/file* /locationB/ 你是指這個嗎? 08/10 23:15
*的方式我有想過 上面的例子差了點 好像檔案名稱都是照順序的 如果他今天是不照順序的(意即亂數) 可能是幾個當案名稱是 warp.jpg photo.png word.jpg 如果是這樣的話 要怎麼複製呢? 還是說只能用*下去做複數檔案的複製? ※ 編輯: MAGICXX 來自: 112.104.138.200 (08/10 23:23)
CP64:可以一次指定多檔名複製到同一目錄下 08/11 00:28
CP64:cp 檔案A 檔案B 檔案C /locationB/ 就可以了 08/11 00:29
nknudragon:你可以試著使用rsync --include 08/11 01:25
n3oanderson:find $path -name $pattern -exec cp {} $dest \; 08/11 01:27
nknudragon: -type file 08/11 02:25
danielsig727:如果你的清單是列在檔案裏面的話可以考慮用awk自動化 08/11 13:44
MAGICXX:感謝大大~ 08/12 00:06
MAGICXX:因為是個別產生的檔案 所以可能會用 CP64前輩的做法 08/12 00:07
CP64:我沒到前輩的程度啦... 我也才踏進這個領域沒多久而已... 08/12 00:58
rickieyang:弄出個清單 filelist 08/12 01:33
rickieyang:for i in `cat filelist`; do cp -p /A/$i /B/; done 08/12 01:34
MAGICXX:樓上大大的方法也是快又有效XD 我看看要怎麼做一個list 08/12 10:43
MAGICXX:檔案名稱的list 08/12 10:43
rickieyang:喜歡那就繼續惡搞吧. 在 .profile 加入底下幾行 08/13 00:25
rickieyang:multicopy(){ 08/13 00:25
rickieyang: for i in `cat $1` 08/13 00:25
rickieyang: do 08/13 00:25
rickieyang: cp -p /A/$i /B/ 08/13 00:26
rickieyang: done } 08/13 00:26
rickieyang:以後你就可以用 multicopy filelist 來複製了. 08/13 00:27
rickieyang:再把A,B改成$2,$3,就可以multicopy filelist dirA dirB 08/13 00:29
weltschmerz:感謝樓上 學到可以直接自定義東西在.profile裡:D 09/05 22:21