Ich möchte [] aus mehreren Dateinamen entfernen. Wenn ich das mit dem Umbenennen-Befehl mache, erhalte ich eine Fehlermeldung.
Gibt es eine andere Möglichkeit, dies zu tun?
Antwort1
[]
sind Sonderzeichen in der Perl-Regex-Syntax, die von rename
Befehlen verwendet werden. Verwenden Sie sie \
vor ihnen. Beispiel:
rename "s/\[|\]/_/g" *
dh:
s replace
[
| or
]
with
_
* for all files here
Antwort2
Ich verwende am liebsten diesen Befehl:
for file in $(echo *|grep -E '(\[|\])'); do mv $file $(echo $file|sed -r 's/(\[|\])/_/g'); done
Dadurch werden alle eckigen Klammern im aktuellen Verzeichnis durch Unterstriche ersetzt.