Ich entwickle einen einfachen Launchdaemon, der Dateien von einem Verzeichnis in ein anderes kopiert. Ich habe die Dateien übertragen, um sie zu übertragen.
Ich möchte nur, dass die Dateien im Verzeichnis .mp3 statt .dat's
sindEinige der Dateien sehen so aus:
6546785.8786.dat
3678685.9834.dat
4658679.4375.dat
Ich möchte, dass sie so aussehen:
6546785.8878.mp3
3678685.9834.mp3
4658679.4375.mp3
Das ist, was ich am Ende des bash-Skripts habe, um die Dateierweiterungen umzubenennen.
%Vor%Problem ist, dass die Datei als * .mp3 anstelle von 6546785.8878.mp3
erscheintund wenn eine weitere 6546785.7886.dat Datei in $ mp3_dir importiert wird, wird die * .mp3 mit der neuen .mp3
überschriebenIch muss nur die Dateierweiterungen .dat in .mp3 umbenennen und den Dateinamen beibehalten.
Ideen? Vorschläge?
Versuchen Sie:
%Vor%Oder, wenn deine Shell es hat:
%Vor% Nun, warum Ihr Befehl nicht funktionierte: Zunächst einmal ist es mehr als sicher, dass Sie nur eine Datei in Ihrem Verzeichnis hatten, als diese in *.mp3
umbenannt wurde, sonst wäre mv
mit% co_de fehlgeschlagen %.
Und mv macht mit Datei-Globs KEINE Magie, es ist die Shell , die Globs expandiert. Das heißt, wenn Sie diese Datei im Verzeichnis hatten:
%Vor%und du hast getippt:
%Vor% Die Shell hätte *.mp3: not a directory
auf *.dat
erweitert. Da jedoch nichts mit t.dat
übereinstimmen würde, hätte die Shell es so belassen, wie es ist, was bedeutet, dass der vollständig erweiterte Befehl lautet:
Dadurch wird eine Datei mit dem Namen *.mp3
erstellt.
Wenn Sie andererseits mehrere Dateien namens *.mp3
hatten, wie in:
Der Befehl hätte sich erweitert zu:
%Vor% Dies wird jedoch fehlschlagen: Wenn es mehr als zwei Argumente für *.dat
gibt, erwartet es, dass das letzte Argument (dh mv
) ein Verzeichnis ist.
Für jeden auf einem Mac ist das ziemlich einfach, wenn Sie BREW haben, wenn Sie kein brew haben, dann ist mein Rat es. dann, wenn installiert, tun Sie einfach dies
%Vor%dann, sobald die Umbenennung installiert ist, geben Sie einfach ein (in dem Verzeichnis, in dem sich die Dateien befinden)
%Vor%Tags und Links iphone bash terminal file-extension launch-daemon