ich hatte hier schon einmal mein Problem gepostet, was das entfernen von Tabs und Leerzeichen in Leerzeilen betrifft. Ich hatte daraufhin folgende Lösungen erhalten:
perl -ne ‚s/^\s+$/\n/;print;‘ zieldatei
oder
sed ‚s/^\s+$/\n/‘ source >target
Jetzt mein Problem:
Ich muss das in mehreren Dateien machen, kann man das irgendwie auf alle Files in einem Verzeichnis bzw. auf Dateien mit bestimmten Dateiendungen anwenden? Es muss auch keine Zieldatei geben, die gleiche Datei bearbeitet machts auch…
ich hatte hier schon einmal mein Problem gepostet, was das
entfernen von Tabs und Leerzeichen in Leerzeilen betrifft.
…
Jetzt mein Problem:
Ich muss das in mehreren Dateien machen, kann man das
irgendwie auf alle Files in einem Verzeichnis bzw. auf Dateien
mit bestimmten Dateiendungen anwenden?
Danke, ich bekomm es nicht hin. muss das als shell script (.sh) laufen oder perl? oder einfach eintippen? hab das alles versucht, lief aber nicht. wsa mach ich falsch?
Ohne es probiert zu haben:
for f in $(ls -1 /*);
do
perl -ne ‚s/^\s+$/\n/;print;‘ $f.neu
done
Danke, ich bekomm es nicht hin. muss das als shell script
(.sh) laufen oder perl? oder einfach eintippen? hab das alles
versucht, lief aber nicht. wsa mach ich falsch?
Das ist ein Shellscript. Wie äußert sich denn „lief aber nicht“?
$ ./leerz.sh
bad interpreter: A file or directory in the path name
does not exist.
Im Script hast Du #!/bin/bash angegeben. Die Fehlermeldung hört sich so an, es existiere /bin/bash nicht.
Gibt es /bin/bash? Kann man herausfinden mit ‚whereis bash‘ oder ‚locate bash‘.
Funktioniert es ohne die Zeile #!/bin/bash?
Brauch man root Rechte um Shell Scripte auszuführen? Die hab
ich nicht…
Braucht man auch nicht. Allerdings muss das Script ausführbar gemacht werden (chmod 700 leerz.sh) und mit ./leerz.sh gestartet werden. Aber so wie es aussieht, hast du das ja gemacht.