Stapelumbenennung von Dateien anhand einer separaten ID-Datei

529
Antonis G

Ich arbeite mit Ubuntu 16 und habe ein Verzeichnis mit Hunderten von Dateien mit eindeutigen Dateinamen.

Ich möchte sie nach einer separaten ID-Datei umbenennen.

Zum Beispiel:

Ursprüngliches Verzeichnis

FileA.ext FileB.ext FileC.ext IrrelevantFile.txt etc 

ID-Datei

FileA.ext File1.ext FileB.ext File2.ext FileC.ext File3.ext etc 

Transformiertes Verzeichnis

File1.ext File2.ext File3.ext IrrelevantFile.txt etc 

Beachten Sie, dass das ursprüngliche Verzeichnis eine Datei mit einer separaten Erweiterung ( IrrelevantFile.txt) enthält, die nicht in der ID-Datei enthalten ist. Das Bash-Skript sollte sich daher streng auf die ID-Datei verlassen und nur die dort vorhandenen Dateien umbenennen.

Können Sie bitte helfen?

0
Lesen Sie einfach die ID-Datei und benennen Sie nur Dateien um, die explizit in dieser Datei aufgeführt sind. Mit was genau hast du Probleme? Seth vor 5 Jahren 1
In cmd Zeile 'for / F "usebackq token = 1,2"% A in ("ID.txt") Wenn vorhanden% A REn% A% B "in einem Stapel vorhanden sind, verdoppeln Sie die Vorzeichen. LotPings vor 5 Jahren 0
@Seth Mein Problem ist, dass ich ein Neuling in Bash bin. Antonis G vor 5 Jahren 0
@LotPings Vielen Dank für die Mühe, es zu versuchen! Antonis G vor 5 Jahren 0
Dieser Befehl ist für Windows, cmd / batch, nicht für bash gedacht. Ihre Tags sind mehrdeutig. LotPings vor 5 Jahren 0
@LotPings Danke, wie kann ich es auf bash einstellen? Antonis G vor 5 Jahren 0
@AntonisG Klicken Sie einfach auf den Link [Bearbeiten] (// superuser.com/posts/1337881/edit) am unteren Rand Ihrer Frage, direkt über den Kommentaren. (Ich habe es diesmal schon gemacht ;-)) robinCTS vor 5 Jahren 0
Ich bin mit bash noch nicht so vertraut, dass er von Junk gelesen wird. do mv - "$ from" "$ to"; fertig <"ID.txt" ` LotPings vor 5 Jahren 1

0 Antworten auf die Frage