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

Linux (mv oder cp) spezifische Dateien aus einer Textliste von Dateien?

Lösung 1:

Um eine nutzlose Verwendung von cat zu vermeiden (und wenn Sie rsync nicht verwenden ):

xargs -a file_list.txt mv -t /path/to/dest

Dies verarbeitet jeden gültigen Dateinamen, es sei denn, er enthält einen Zeilenumbruch, wenn die Dateien einzeln pro Zeile aufgelistet werden.

Lösung 2:

rsync hat mehrere Optionen, die eine Liste von Dateien verarbeiten können (--files-from , --include-from usw.).

Zum Beispiel wird dies den Zweck erfüllen:

rsync -a /source/directory --files-from=/full/path/to/listfile /destination/directory

Lösung 3:

for file in `cat listoffiles`; do mv "$file" /path/of/destination ; done

unter der Annahme von bash, plus listoffiles enthält eine Datei pro Zeile. Mein einziger Einwand gegen die rsync-Route ist, dass das OP nach einer Methode zum Verschieben der Dateien fragt, nicht zum Kopieren. rsync hat mehr Flaggen als eine königliche Hochzeit, also bin ich sicher, dass es weiter modifiziert werden kann, um das zu tun, aber manchmal ist einfacher besser!

Lösung 4:

rsync --files-from=file_list.txt /path/to/source/ /path/to/dest/

Rsync hat den zusätzlichen Vorteil gegenüber cp oder mv Befehle, weil es automatisch Ordner erstellt, wenn sie nicht existieren.

Lösung 5:

Dies hängt vom Format Ihrer Textdatei ab. Wenn Sie beispielsweise die Liste der Dateien so geschrieben haben, dass sich jede Datei in einer neuen Zeile befindet. Sie können xargs verwenden wie:

$ cat your_text_file | xargs cp -t /path/to/destination

Sie können auch find verwenden Befehl mit -exec Möglichkeit. zum Kopieren/Verschieben der Dateien.


Linux
  1. Praktische Beispiele für den rsync-Befehl unter Linux

  2. Wie kann man unter Linux Binärdateien von Textdateien unterscheiden?

  3. Wie finde ich unter Linux alle Dateien, die bestimmten Text enthalten?

  4. Dateiliste von der Suche ausschließen

  5. Linux-Äquivalent zu Robocopy?

Grep-Befehl in Linux (Text in Dateien suchen)

Rsync-Beispiele zum Übertragen von Dateien unter Linux

So finden Sie Dateien, die eine bestimmte Textzeichenfolge in Linux enthalten

Finden Sie Text in Dateien unter Linux mit grep

Wie kann ich Dateien/Ordner ab einem bestimmten Datum synchronisieren?

RDP von Linux zu Windows