Wie kopiere ich alle Dateien, deren Name „t_1“ enthält, mit einem Befehl in ein anderes Verzeichnis?

Wie kopiere ich alle Dateien, deren Name „t_1“ enthält, mit einem Befehl in ein anderes Verzeichnis?

Wie kopiere ich alle Dateien mit „t_1“ im Namen mit einem Befehl in ein anderes Verzeichnis?

Antwort1

Verwenden

cp /path/to/files/*t_1* /path/to/destination

oder nur

cp ./*t_1* /path/to/destination

ob sich die Dateien im aktuellen Verzeichnis befinden.

Oder,

for f in ./*t_1*; do
    cp "$f" /path/to/destination
done

Das sollte auf jeden Fall funktionieren, auch wenn sich im aktuellen Verzeichnis viele Tausend Dateien befinden, die dem Muster entsprechen.

Antwort2

Hier ist eine schnelle Lösung.

find ./ -name '*t_1*' -exec mv '{}' ./ \;

Dieser Code verschiebt alle Dateien (die das Suchmuster im Dateinamen enthalten) eine Ebene nach oben in der Hierarchie.

Nehmen wir beispielsweise an, dass alle Ihre 't_1'-Dateien gespeichert sind in/Startseite/Desktop/Verzeichnis. Gehen Sie dann einfach zu/Heim/vom Terminal aus und führen Sie diesen Befehl aus. Alle 't_1'-Dateien werden verschoben von/home/Desktop/Zu/heim/Verzeichnis.

Alle Dateien werden kopiert, unabhängig von der Position von t_1 im Dateinamen.

verwandte Informationen