Mailinglist Archive: opensuse-de (4902 mails)

< Previous Next >
Re: String-Operation
  • From: Jan.Trippler@xxxxxxxxxxx (Jan Trippler)
  • Date: Wed Jul 12 19:47:13 2000
  • Message-id: <20000712214713.L29975@xxxxxxxxxxxxxx>



On Die, Jul 11, 2000 at 11:21:42 +0200, Henning wrote:
Stephan Hakuli wrote:

Hallo zusammen,

ich suche eine Möglichkeit, aus einem Skript heraus eine Datei
Zeile für Zeile einzulesen und jedesmal zu überprüfen, ob diese mit
einem hash anfängt.

Einfachste Loesung ist immer noch ein Mini sed-script:
^^^^^^^^^^^?

sed "/^[ ]*#/d; /^[ ]*/d" infile | ....

Ignoriert alle Zeilen die
leer sind
nur spaces oder tabs enthalten
mit # anfangen
mit tabs und/oder spaces gefolgt von einem # anfangen

sed "/^[ ]*#/d; /^[ ]*/d; s/#.*$//" infile | ...

Macht das Gleiche, entfernt aber noch Kommentare am Zeilenende

Alle anderen Loesungen sind komplizierter:

Nana. Das ist jetzt ein wenig absolut:

grep -v "^#" infile | while read zeile; do
...
done

ist ja wohl nicht so kompliziert, oder? Whitespaces am Zeilenanfang
werden (zumindest bei mir im Test) sowieso überlesen, die muss man
also nicht erst mühsam entfernen.

awk ' /^ / { next }
/^#/ { next }
{ print $0 } ' infile | while read zeile; do

ieht auch recht manierlich aus, gelle?

Kommentare in der Zeile kann man auch sehr einfach entfernen:
grep ... | cut -f1 -d"#" | while read zeile; do
...

tut auch nicht weh.

Jan

---------------------------------------------------------------------
To unsubscribe, e-mail: suse-linux-unsubscribe@xxxxxxxx
For additional commands, e-mail: suse-linux-help@xxxxxxxx

< Previous Next >
Follow Ups
References