Linux

在命令行中複製一系列文件 (ZSH/BASH)

  • November 27, 2017

我有一個以連續數字作為後綴的文件列表。我只想複製這些文件的一部分。如何將範圍指定為 cp 命令的一部分。

$ls
P1080272.JPG* P1080273.JPG* P1080274.JPG* P1080275.JPG* P1080276.JPG* P1080277.JPG*
P1080278.JPG* P1080279.JPG* P1080280.JPG* P1080281.JPG* P1080282.JPG* P1080283.JPG*

我想將文件從 P1080275.JPG 複製到 P1080283.JPG 類似於:

$cp P10802[75-83].JPG ~/Images/.

有沒有辦法做到這一點?

你非常親近。您的問題幾乎是正確的語法:

cp P10802{75..83}.JPG ~/Images

在 bash 中迭代一個範圍:

for x in {0..10}; do echo $x; done

在您的情況下應用相同的內容:

for x in {272..283}; do cp P1080$x.JPG ~/Images; done

引用自:https://serverfault.com/questions/370403