So habe ich mehrere Dateien in bash in einem Verzeichnis namens songs_old. Ich möchte sie in einen Ordner namens Songs mit einem anderen Namen kopieren. Einige Namen der Eingabedateien enthalten:Bulk kopieren und benennen Sie mehrere Dateien in Bash, mit Unterstrichen
unknownsong_song152.mid
town_song154.mid
nm_battle_song158.mid
fanfare_song159.mid
ich die Ergebnisse in "Songs" sein wollen wie:
song152_unknownsong.mid
song154_town.mid
song158_nm_battle.mid
song159_fanfare.mid
ich den folgenden Code versucht, die Dateien zu kopieren:
#!/bin/bash
for i in "./songs_old/"*".mid";do mkdir -p "./songs"
cp "$i" "./songs/`basename "${i%.*}" | cut -d'_' -f2`_`basename "${i%.*}" | cut -d'_' -f1`.mid"
done
Und meine Ergebnisse waren wie folgt:
song152_unknownsong.mid
song154_town.mid
battle_nm.mid
song159_fanfare.mid
Wie kann ich die Dateien mit den gewünschten Ergebnissen kopieren?
Danke, ich merke meinen Fehler :) – anubhava