On Mon, 16 Jul 2001 at 09:15 (+0200), Heinz W. Pahlke wrote: [...]
Und dann geht es daran, das Script so umzuschreiben, dass ich die Dateien nicht erst immer umbenennen muss, um sie konvertieren zu koennen. Schliesslich soll es nach dem Prinzip "Befehl datei.alt > datei.neu" funktionieren.
Einfach den Mechanismus, wie ihn Roland gezeigt hat, abwandeln (ich habe gleich noch ein wenig Error-Handling eingebaut): ### Script ### #! /bin/bash # Aufruf: zende Dateiname # eigener Programmname prg=`basename $0` # Test, ob Dateiname uebergeben wurde if test -z "$1"; then echo "Aufruf: $prg Dateiname" >&2 exit 1 fi # Test ob Datei ex. und lesbar ist if test ! \( -f "$1" -a -r "$1" \); then echo "$prg: Datei \"$1\" existiert nicht oder nicht lesbar" >&2 exit 2 fi # temp. Datei tmp_datei=/tmp/datei.$$ # wenn vorhanden, loeschen; Fehler wenn dies nicht moeglich ist if test -e $tmp_datei; then if ! rm $tmp_datei 2>/dev/null; then echo "$prg: kann temp. Datei \"$tmp_datei\" nicht loeschen!" >&2 exit 3 fi fi # Schleife while read i; do if test -z "$i"; then echo -e "$text\n" >>$tmp_datei text= else text="$text$i" fi done <$1 test -n "$text" && echo $text >>$tmp_datei # Datei in Originaldatei umbenennen if ! mv $tmp_datei $1 2>/dev/null; then echo "$prg: Kann Datei \"$1\" nicht ueberschreiben" >&2 exit 4 fi exit 0 ### Scriptende ### Jan