GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Kopieren Sie eine Reihe von Dateien in der Befehlszeile (ZSH/BASH)

Lösung 1:

Du warst ganz in der Nähe. Ihre Frage war fast die richtige Syntax:

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

Lösung 2:

So iterieren Sie in bash über einen Bereich:

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

Gleiches gilt für Ihren Fall:

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

Lösung 3:

Zsh mit der erweiterten Glob-Option hat das globbing (Mustervergleich)-Operator.

setopt extendedglob
echo P10802<75-83>.JPG

stimmt mit Dateinamen im aktuellen Verzeichnis überein, die diesem Muster entsprechen (beachten Sie, dass P1080275.JPG übereinstimmt, P108020000000075.JPG jedoch auch)

Auf der anderen Seite erweitert der {x...y}-String-Expansion-Operator (unterstützt von zsh und neueren Versionen von bash und ksh93) die Strings von x bis y, unabhängig davon, welche Dateien sich im aktuellen Verzeichnis befinden.

cp P10802<75-83>.JPG ~there

kopiert die übereinstimmenden Dateien, ebenso

cp P10802{75..83}.JPG ~there

Aber Sie erhalten Fehler, wenn zum Beispiel P1080281.JPG nicht existiert.


Linux
  1. 5 Befehlszeilen-Tools zum schnellen Auffinden von Dateien unter Linux

  2. Bash-Befehlszeilen-Exit-Codes entmystifiziert

  3. Unterschied zwischen ' und ' in der Befehlszeile (bash)??

  4. Befehl nicht in Zsh, aber in Bash gefunden?

  5. Befehlszeilenargumente für docker run

So lesen Sie Dateien Zeile für Zeile in Bash

Cp-Befehl in Linux (Dateien kopieren)

So verwenden Sie den cp-Befehl zum Kopieren von Dateien und Verzeichnissen

So zeigen Sie den Bash-Verlauf ohne Zeilennummern an

Kopieren Sie eine Datei in mehrere Verzeichnisse von der Befehlszeile unter Linux

Sicheres Kopieren von Dateien mit dem SCP-Befehl