it-swarm.com.de

Wie entferne ich alle einfachen Anführungszeichen in allen Dateien rekursiv mit "Umbenennen"?

Der Titel sagt schon alles und ich weiß, dass es viele ähnliche Fragen gibt, aber das Nächste, was ich finden konnte, war das Entfernen von "und nicht". Was ich bisher versucht habe, ist:

find -name "*'*" -type f | rename 's/\'//g'

oder rename 's/[']//g' und einige andere Variationen. Ich finde alle Dateien, aber wenn ich sie an rename weitergebe, erhalte ich nur > für Prompt und muss Ctrl+C zurückgeben. Ich habe kürzlich eine Menge Dateien damit geändert, und es hat wie ein Zauber für jedes Sonderzeichen mit Ausnahme der einfachen Anführungszeichen gewirkt.

3
Thomas

Sie können doppelte Anführungszeichen verwenden:

rename -n "s/'//g"

entfernen Sie -n nach dem Testen, um die Dateien für real umzubenennen

Verwenden Sie -exec, obwohl ...

find -name "*'*" -type f -exec rename -n "s/'//g" '{}' \;

Wenn die Liste nicht zu lang ist, machen Sie es schneller ...

find -name "*'*" -type f -exec rename -n "s/'//g" '{}' +
7
Zanna