Bernd
Anmeldungsdatum: 22. Mai 2005
Beiträge: 1207
Wohnort: Erfurt
|
Im Artikel zu "mv" wird leider nicht erwähnt, dass der normale Befehl "mv src/* dst/" versteckte Dateien (also alles mit .filename) ignoriert. Auf http://simonstamm.de/alle-dateien-inklusive-versteckte-hidden-files-verschieben/ gibt es einen variierten Befehl bzw. die Abwandlung | mv src/{,.[!.],..?}* dest/
|
ohne Fehlermeldungen. Ich denke, es wäre sinnvoll, dies im Wiki-Artikel mit einfließen zu lassen. Oder kennt jemand einen andere/einfachere Methode, versteckte Dateien zu berücksichtigen?
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17284
Wohnort: Berlin
|
Sieht ja überhaupt mehr wie ein Brückenkopf für einen Artikel aus, oder wie ein Alibiartikel. Auch der Hinweis:
Um mehrere Dateien in Abhängigkeit vom Dateityp auf einmal umzubenennen, könnte man auf die Idee kommen, es bei Bildern beispielsweise mit
zu versuchen. Leider wird das so nichts, stattdessen muss man ein Bash-Skript schreiben: | #!/bin/bash
for i in *.JPG
do mv "$i" "${i/.JPG}".jpg
done
|
ist nicht optimal. Ich würde da eines oder mehrere der rename-Tools benennen. Ich würde auch vorschlagen die Gemeinsamkeiten und Unterschiede von Umbenennen und Verschieben thematisieren in Bezug auf Dateisystem, Zeitstempel, Schredden. Was macht denn die Abwandlung? Den einfachen Befehl würde ich übrigens schon auch erwähnen, denn wenn man auf der ersten Ebene keine versteckte Datei hat, dann genügt dieser, und man bekommt weniger schnell eine Sehnenscheidenentzündung. Für die 2. Ebene braucht man das eh nicht mehr.
|
Bernd
(Themenstarter)
Anmeldungsdatum: 22. Mai 2005
Beiträge: 1207
Wohnort: Erfurt
|
user unknown schrieb: Was macht denn die Abwandlung?
Sie schließt die Platzhalter-Verzeichnisse . und .. aus, damit beim Verschieben keine Fehlermeldung kommt. Ich finde den Befehl recht kryptisch und hatte gedacht, da gibt es vielleicht eine andere/einfachere Möglichkeit (die man sich auch merken kann), hab aber bisher leider nichts gefunden.
|
barcc
Anmeldungsdatum: 13. Juli 2007
Beiträge: 696
Wohnort: Dortmund
|
Da * von der shell und nicht von mv ausgewertet wird, gibt es noch eine andere Möglichkeit:
Damit werden in folgenden Befehlen versteckte Dateien nicht mehr ignoriert. (Gilt natürlich für alle Befehle, nicht nur mv) Für einen einzelnen Befehl kann man das so machen:
| (shopt -s dotglob; mv src/* dest/)
|
Ist zwar nicht kürzer, aber vielleicht etwas weniger kryptisch.
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17284
Wohnort: Berlin
|
Bernd schrieb: user unknown schrieb: Was macht denn die Abwandlung?
Sie schließt die Platzhalter-Verzeichnisse . und .. aus, damit beim Verschieben keine Fehlermeldung kommt. Ich finde den Befehl recht kryptisch und hatte gedacht, da gibt es vielleicht eine andere/einfachere Möglichkeit (die man sich auch merken kann), hab aber bisher leider nichts gefunden.
Hm, ich dachte einen Test gemacht zu haben mit der kürzeren Version, ohne dass eine Fehlermeldung gekommen wäre.
|
Hans9876543210
Anmeldungsdatum: 2. Januar 2011
Beiträge: 3741
|
Moin, beim Aufruf der Schleife: –- Beginn Auszug Wiki:
zu versuchen. Leider wird das so nichts, stattdessen muss man ein Bash-Skript schreiben: | #!/bin/bash
for i in *.JPG
do mv "$i" "${i/.JPG}".jpg
done
|
–- Ende Auszug Wiki kriege ich einen Bad substitution Fehler. Scheinbar klappt die Schleife, wenn man anstelle des \ ein % einsetzt:
| #!/bin/bash
for i in *.JPG
do mv "$i" "${i%.JPG}".jpg
done
|
Könnte das jemand bei Gelegenheit plausibilisieren? Dann könnte das Wiki angepasst werden.
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17284
Wohnort: Berlin
|
Hans9876543210 schrieb: | do mv "$i" "${i/.JPG}".jpg
|
–- Ende Auszug Wiki kriege ich einen Bad substitution Fehler. Scheinbar klappt die Schleife, wenn man anstelle des \ ein % einsetzt:
| do mv "$i" "${i%.JPG}".jpg>
|
Könnte das jemand bei Gelegenheit plausibilisieren? Dann könnte das Wiki angepasst werden.
Kann es sein, dass Du Backslash und Slash verwechselt hast?
|
ChickenLipsRfun2eat
Moderator & Supporter
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 10949
Wohnort: 10.10.10.50
|
Hans9876543210 schrieb: Könnte das jemand bei Gelegenheit plausibilisieren? Dann könnte das Wiki angepasst werden.
Habe eben einen Test laufen lassen. Klappt wie erwartet problemlos.
mkdir test && cd test
for file in {0..9}; do touch file$file.JPG; done
ls
#Ausgabe: file0.JPG file1.JPG file2.JPG file3.JPG file4.JPG file5.JPG file6.JPG file7.JPG file8.JPG file9.JPG
for i in *.JPG; do mv "$i" "${i/.JPG}".jpg; done
ls
#Ausgabe: file0.jpg file1.jpg file2.jpg file3.jpg file4.jpg file5.jpg file6.jpg file7.jpg file8.jpg file9.jpg
|
Hans9876543210
Anmeldungsdatum: 2. Januar 2011
Beiträge: 3741
|
user_unknown schrieb: Kann es sein, dass Du Backslash und Slash verwechselt hast?
Im Fließtext war ein Vertipper 😳 Ich hab den Fehler entdeckt. In meinen Skript hatte ich eine andere Bash. Anstelle von hatte ich in der Shebang. /sh hatte ich wohl aus einem anderen Wiki Artikel kopiert 🙄 Offensichtlich verweist sh auf die Dash und nicht auf die Bash. Die Dash muss wohl Probleme mit dem Slash haben. Die Lösung mit dem % anstelle des / funktioniert in beiden Shells. Alles ok mit dem Wiki daher.
|
BoSSSpy
Anmeldungsdatum: 4. Februar 2017
Beiträge: Zähle...
|
Die Beschreibung ist nicht schlecht.
Ich finde es fehlen in der Beschreibung zu MV noch die Optionen:
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17284
Wohnort: Berlin
|
BoSSSpy schrieb: Die Beschreibung ist nicht schlecht.
Ich finde es fehlen in der Beschreibung zu MV noch die Optionen:
Es ist ein Wiki, d.h. Du darst es selbst ergänzen.
|
TausB
Anmeldungsdatum: 26. November 2009
Beiträge: 1525
Wohnort: Terra incognita
|
BoSSSpy schrieb: Die Beschreibung ist nicht schlecht.
Ich finde es fehlen in der Beschreibung zu MV noch die Optionen:
Willkommen im Forum!
Manchmal weht der Wind ein wenig forsch hier bei uns, bitte nicht verzagen! ☺ Aber natürlich hat user_unknown Recht ...
user_unknown schrieb:
Es ist ein Wiki, d.h. Du darst es selbst ergänzen.
... da hier niemand die Schreibkraft eines anderen ist und das Wiki eine Gemeinschaftsproduktion ist. Falls Du dabei Hilfe brauchst, frage.
|