Wie kann ich Operationen an der Ausgabe eines Befehls durchführen?

Wie kann ich Operationen an der Ausgabe eines Befehls durchführen?

Ich möchte einige aktuelle Dateien in ein neues Verzeichnis verschieben können. Ich kann die aktuellsten Dateien auflisten, indem ich ls -t | head ausführe, aber jetzt möchte ich diese Dateien verschieben (mv) können. Wie kann ich das tun?

Antwort1

Los geht‘s:
ls -t | head | xargs -I files mv files <dest_dir>.
Ersetzen Sie einfach <Zielverzeichnis> durch Ihr Zielverzeichnis.

Antwort2

Eine weitere Option ist:

 mv $(ls -t) <dest_dir>

Der Kommentar von Geirha trifft auch hier zu – dies schlägt bei Dateinamen fehl, die Leerzeichen usw. enthalten.

verwandte Informationen