Massenumbenennungsdateien einschließlich Unterverzeichnissen
649
Shubham Mathur
Ich habe viele Dateien mit "example.com" in ihnen, und ich möchte sie durch "example.co" ersetzen, da ich meine Site tld ändere. Ich habe ein Programm umbenannt, das auf meinem Server installiert ist und root-Zugriff hat.
Kann mir jemand bei der Umbenennung helfen?
Beispielspeicherort von Dateien:
/var/html/downloads/folder1/folder1-1/abc(example.com).mp4 /var/html/downloads/folder2/folder2-1/abc(example.com).mp4 /var/html/downloads/folder2/folder2-2/abc(example.com).mp4 /var/html/downloads/folder3/folder3-1/abc(example.com).mp4
Ich hoffe jemand hilft mir hier draußen :)
PS: Ich habe diese cmd verwendet, aber unter dem Fehler:
cmd: find -name "*example*" | xargs -I '{}' rename s/com/co/ '{}'
Error:
For more details see rename(1). rename: not enough arguments Usage: rename [options] expression replacement file...
Es gibt zwei "Standardversionen" für die Umbenennung von Linux, eine neuere, die reguläre Perl-Ausdrücke erwartet, und Ihre, von denen ich denke, dass sie einer älteren Unix-Version nachempfunden ist, die zwei Parameter für Suche und Ersetzung akzeptiert. Versuchen Sie `xargs -I '{}' umzubenennen" com "" co "'{}'`. Das könnte jedoch zu breit sein, da es jede Instanz von "com" fängt. Wenn Perl installiert ist, können Sie stattdessen wahrscheinlich "prename" als Regex-Version verwenden.
baochan vor 9 Jahren
0
Ihre Beispieldateinamen enthalten nicht "example.com" im Dateinamen. Versuchen Sie, Text im Inhalt der Dateien zu ersetzen? In diesem Fall sollten Sie den Befehl "sed" anstelle von "rename" verwenden.
baochan vor 9 Jahren
0
Ihre Frage ist widersprüchlich. Sie sagen, Sie müssen example.com * innerhalb * der Dateien ändern, geben dann aber ein Beispiel an, um die Dateinamen zu ändern. Zum Abschluss geben Sie Beispieldateinamen an, die sich in keiner Weise auf example.com beziehen und binäre .mp4-Dateien sind. Hier stimmt nicht etwas, alles stimmt nicht. Auf diese Frage gibt es keine Antwort.
Timbo vor 9 Jahren
0
Eine ordnungsgemäß gestaltete Website enthält relative Links innerhalb der HTML-Dateien, sodass dieses Problem vollständig vermieden wird. Sind Sie sicher, dass fqdn in der HTML-Datei codiert ist? Oder ist das eine Vermutung?
Timbo vor 9 Jahren
0
Wenn ich mir den Verwendungstext anschaue, bin ich sicher, dass @baochan Ihre Version von `rename 'richtig macht. Drei Punkte: (1) das Skript schlägt fehl, wenn eingebettete Leerzeichen vorhanden sind (Sie müssen `find -print0` und` xargs -0` verwenden); (2) Bei Verwendung von "xargs -I" wird für jede gefundene Datei ein eigener "umbenennen" ausgeführt. Es ist viel effizienter, einfach an "xargs -0 rename com co" zu pfeifen seine Laufkette; (3) Um `rename` einmal pro Datei auszuführen, müssen Sie` xargs` überhaupt nicht verwenden. Verwenden Sie `find -name" * example * "-exec umbenennen com co '{}' \;`
AFH vor 9 Jahren
0
0 Antworten auf die Frage
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
4
Linux-Dateisystem
-
6
Vollbild-Flash langsam in KDE 4