Cp
cp多線時尚
在帶有 Bash 3.2.52(2) 的 CentOS 中,我必須將許多文件(不是全部)從一個目錄複製到另一個目錄。
我可以創建一個長的單行,
cp /"$HOME"/dir1/{file1,fil2} ... /"$HOME"/dir2
但是因為 dir1 中有很多文件,我更喜歡以多行方式複製文件。編輯:我手動創建列表。
如何才能做到這一點?
我更喜歡沒有反斜杠的解決方案 | 我沒有找到線索
man cp
| 也許只有這里文件?
files=( file1 file2 "the goose incident.png" "another file" file3 file-4 "fifth file" file6 "this is file7 with a newline in the middle of the name" ) cd ~/dir1 && cp "${files[@]}" ~/dir2
這會將
files
列表中提到的名稱從複製~/dir1
到~/dir2
。列表中元素之間的換行符
files
並不重要,除了最後一個元素中的換行符是一個文件名,其中嵌入了換行符(只是為了表明您也可以擁有這些,沒有問題)。清單也可以寫成
files=( file1 file2 "the goose incident.png" "another file" file3 file-4 "fifth file" file6 "this is file7 with a newline in the middle of the name" )
或作為
files=( file1 file2 "the goose incident.png" "another file" file3 file-4 "fifth file" file6 "this is file7 with a newline in the middle of the name" )