Cp

cp多線時尚

  • August 17, 2019

在帶有 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" )

引用自:https://unix.stackexchange.com/questions/536017