Software > Programmieren, Kompilieren

shell Programmierung

<< < (2/3) > >>

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