Ich habe mehrere Ordner mit mehreren Videovorträgen. Die Namen der Dateien (Videos) sind wie topic blah blah blah - Lecture xx.mp4
Ich möchte sie in Lecture xx.mp4
umbenennenBash-Skript zum Umbenennen von Dateien
Ich habe das folgende Bash-Skript geschrieben. Und es scheint zu hängen (wird langsam) und gibt auch keine Ausgabe.
for file in *.mp4; do
echo "Renaming file :: $file"
nn=$(grep -o 'Lecture.[0-9]*' "$file")
echo $nn
#mv "$file" "$nn"
done
Bitte helfen Sie mir, dieses Skript zu korrigieren.
Aber das 'blah blah blah' kann auch' -' Zeichen enthalten. – vvy
Alternative, die die Abhängigkeit von Leerzeichen-Bindestrich vermeidet: 'new = $ {file/* Lecture/Lecture}' – John1024
@John es funktioniert. @MichaWiedenmann vielen dank. Das Problem ist gelöst, aber kannst du bitte erklären, warum das 'nn = $ (grep -o 'Lecture. [0-9] *'" $ file ")' langsam und falsch ist. Ich habe auch "sed" auf die gleiche falsche Art und Weise versucht. – vvy