Ich habe es so satt, nutzlose Leerzeichen in Quelldateien zu haben, dass ich vim sogar so konfiguriert habe, dass sie angezeigt werden.
Das Problem ist, dass ich sehr oft (wenn nicht immer) mit nutzlosen Räumen mit meinen Entwicklern umgehen muss.
Ich möchte nur Quelldateien scannen (mit einem regulären Ausdruck) und Leerzeichen aus allen angegebenen Dateien entfernen.
Ich habe im Internet gesucht ("bash remove whitespace" usw.), aber nichts Nützliches gefunden.
shell-script
text-processing
Olivier Pons
quelle
quelle
tr -d ' ' < file.foo
ist nicht genau das, wonach Sie suchen.)Antworten:
Wenn mit nutzlosem Leerzeichen am Ende der Zeile ein nachfolgendes Leerzeichen gemeint ist, funktioniert dies auf GNU-Systemen:
(durch
*.c
was auch immer Ihre Quelldateien übereinstimmen ersetzen )quelle
;^)
. Danke nochmal.Dies ist ein wiederkehrendes Problem!
(dies entfernt auch '
\r\n
')Normalerweise verwende ich eine etwas komplexere Version "nrs" (keine redundanten Leerzeichen):
installiere es:
chmod 755 nrs; cp nrs ~/bin;
(oder ähnlich)und verwenden:
nrs ./*.c
Verwenden Sie es nicht in Binärdateien!
quelle
Versuchen Sie es mit Ex-way:
um nachfolgende Leerzeichen aus allen Dateien im aktuellen Ordner zu entfernen. Für die Rekursion (bash4 / zsh) können Sie eine neue Globbing-Option (
**/*.*
) verwenden.Hinweis: Der
:bufdo
Befehl ist nicht POSIX .quelle
So vermeiden Sie das Berühren von Dateien, die bereits in Ordnung sind, mit GNU-Tools:
quelle