mv – Linux
Dieser Beitrag wurde vor mehr als drei Monaten veröffentlicht. Bedenke bitte, dass die hier angebotene Information nicht mehr aktuell und gültig sein könnte. Informiere dich daher bitte auch an anderer Stelle über dieses Thema. Sollten sich neue Informationen ergeben haben, so kannst du mich auch gerne auf diese über einen Kommentar hinweisen. Vielen Dank![mv = move] mit dem “mv”-Befehl kann man Dateien von einem Ort an einen andern verschieben bzw. wenn dies im selber Verzeichnis ausgeführt wird, eine Datei umbenennen.
eine Datei umbenennen:
ohne Wildcards:
mv data1 dateu_neu1
benennt die Datei “data1″ in “dateu_neu1″ um
mit Wildcards:
mv *tei1 datei_neu1
-> * = beliebig viele verschiedene Zeichen
mit Wildcards:
mv ?atei1 datei_neu1
-> ? = ein unbestimmter Buchstabe
Dateien verschieben:
mv *.txt old/
alle Dateien welche auf “.txt” enden werden in das Unterverzeichnis old/ verschoben
mehrere Dateien umbenennen:
!!!
mv *.htm *.html
!!!
dieser Befehl funktioniert nicht, da die Bash “*.html” als Verzeichnis interpretiert
Dieses Problem kann man z.B. wie folgt lösen:
for i in *.htm; do mv $i `basename $i .htm`.html; done
mit diesem Befehl, kann man nun alle Dateien welche auf “.htm” enden, mit der neuen Endung “.html” versehen
der ursprüngliche Dateiname welcher in der Variablen $i abgelegt wird, wird jeweils zu dem neuen Dateinamen, welcher sich aus dem “Basisnamen” (basename *1) ohne die Endung und einer neuen Endung “.html” besteht, zusammengefasst und die entsprechende Datei mittels einer “for”-Schleife verschoben
(*1) basename test.txt .txt -> test)
for i in *.sh; do mv $i /home/path/; done
verschiebt alle Dateien mit der Endung “.sh” nach
for i in [a-z]*; do mv $i ${i#[a-z]}; done
entfernt das erstes Zeichen von allen Dateien im aktuellen Verzeichnis.
for i in [a-z]*; do mv $i z${i}; done
setzt ein “z” vor jeden Dateinamen.
Alternativ kann man dieses Problem auch mit dem folgendem Befehl umgehen…
aptitude install mmv
installiere als erstes das Programm “mmv”
mmv -v "*.htm" "#1.html"
wie im vorherigem Beispiel werden auch hier alle Dateien welche auf “.htm” enden umbenannt und enden hinterher auf “.html”
(mit dem Parameter “-c” werden die Dateien nicht verschoben, sondern kopiert)


Pingback: Erste Schritte in der Shell | SUCKUP.de