Software > Programmieren, Kompilieren
shell Programmierung
dominik:
Eigentlich wollte ich was Kluges sagen, aber Edith wies mich darauf hin, dass das Kluge wohl doch nicht sooo klug war ;)
gruss
Dominik
uwe:
Hallo Leute
Besten Dank für die vielen Beiträge, mache mich gleich an die Arbeit und prüfe ob ich die Vorschläge umsetzen kann
Danke und Gruss
Uwe
uwe:
--- Zitat von: Drusus am 11. März 2009, 12:53:30 ---Moin,
Wenn es nur darum geht ob in der Eingabedatei (hier $FILENAME) eine Zeile zu lang ist:
--- Code: ---if [ `cut -c579- $FILENAME | uniq | wc -l` != 1 ]; then
echo "Some line is too long or input file empty"
exit 1
fi
--- Ende Code ---
Tschau,
Drusus.
--- Ende Zitat ---
Hallo Drusus
Kann ich auch eine Ausgabe der Zeile, welche betroffen ist, ausgeben?
mfg uwe
meik:
--- Zitat von: uwe am 11. März 2009, 14:19:32 ---
--- Zitat von: Drusus am 11. März 2009, 12:53:30 ---Moin,
Wenn es nur darum geht ob in der Eingabedatei (hier $FILENAME) eine Zeile zu lang ist:
--- Code: ---if [ `cut -c579- $FILENAME | uniq | wc -l` != 1 ]; then
echo "Some line is too long or input file empty"
exit 1
fi
--- Ende Code ---
--- Ende Zitat ---
--- Ende Zitat ---
Ich würde das eher mit awk machen, da reicht ein Programm (statt drei) und man kann bei der ersten Zeile abbrechen, die zu lang ist:
--- Code: ---if ! awk 'length > 579 {exit 1}' $FILENAME ; then
echo "Some line is too long"
exit 1
fi
--- Ende Code ---
--- Zitat ---
Hallo Drusus
Kann ich auch eine Ausgabe der Zeile, welche betroffen ist, ausgeben?
mfg uwe
--- Ende Zitat ---
Einfach die aktuelle Zeile ausgeben, bevor du das Programm verläßt:
--- Code: ---if awk 'length > 579 {print ; exit 1}' $FILENAME ; then
echo "Alles okay"
else
echo "Zeile zu lang!"
fi
--- Ende Code ---
MfG, Meik
uwe:
--- Zitat von: meik am 11. März 2009, 19:00:27 ---
--- Zitat von: uwe am 11. März 2009, 14:19:32 ---
--- Zitat von: Drusus am 11. März 2009, 12:53:30 ---Moin,
Wenn es nur darum geht ob in der Eingabedatei (hier $FILENAME) eine Zeile zu lang ist:
--- Code: ---if [ `cut -c579- $FILENAME | uniq | wc -l` != 1 ]; then
echo "Some line is too long or input file empty"
exit 1
fi
--- Ende Code ---
--- Ende Zitat ---
--- Ende Zitat ---
Ich würde das eher mit awk machen, da reicht ein Programm (statt drei) und man kann bei der ersten Zeile abbrechen, die zu lang ist:
--- Code: ---if ! awk 'length > 579 {exit 1}' $FILENAME ; then
echo "Some line is too long"
exit 1
fi
--- Ende Code ---
--- Zitat ---
Hallo Drusus
Kann ich auch eine Ausgabe der Zeile, welche betroffen ist, ausgeben?
mfg uwe
--- Ende Zitat ---
Einfach die aktuelle Zeile ausgeben, bevor du das Programm verläßt:
--- Code: ---if awk 'length > 579 {print ; exit 1}' $FILENAME ; then
echo "Alles okay"
else
echo "Zeile zu lang!"
fi
--- Ende Code ---
MfG, Meik
--- Ende Zitat ---
Hallo Meik
Beim vorgeschlagenen awk wäre es für mich sehr vorteilhaft wenn ich den output von print verwerten könnte (sms). Ich komme aber nicht dahinter wie ich das a) in ein file redirecten oder b) in eine variable umlenken könnte. Hast Du einen Vorschlag?
gruss uwe
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln