Archiv verlassen und diese Seite im Standarddesign anzeigen : sed verzweiflung
Hallo,
ich würde gerne aus einer Datei, die die folgende Zeile enthält nur die pid ZAHL ausgegeben haben und nicht die ganze Zeile.
spawn-fcgi.c.206: child spawned successfully: PID: 1387
Sorry aber ich habe grade keine Zeit mir das hier komplett durchzulesen.
http://www.tty1.net/sed-tutorium/html/index.html
Bei google habe ich nichts gefunden was bei mir funktioniert.
Ich kriege immer nur die ganze Zeile raus. :mad:
Bin grade einfach zu doof dafür.
Sephiroth
2009-01-19, 20:44:35
sed ist dafür auch völlig falsch
probier grep oder awk
sun-man
2009-01-19, 21:19:46
Also wenn die Zeilen vom Aufbau wirklich gleich aussehen
cut -d : -f 2 (oder 3)
ich bin ein Shell-Honk und kann sowas ohne Shell nicht.
wobei awk -F ; '{print $3}' auch gehen müsste. Ich verhgau die Hochkomma immer, also bitte prüfen.
sed ist doch eher zum ersetzen usw.
echo 'spawn-fcgi.c.206: child spawned successfully: PID: 1387' | grep -o -e '[0-9]\{1,5\}$'
sed würde wohl auch gehen, wenn weder cut noch grep vorhanden ist. ist das hier der fall?
sun@sun-
2009-01-20, 11:34:57
sry, sitze an ner SUN ohne Reg....
Testfile mit den einträgen, nur die PID geändert.
testfile sieht so aus:
spawn-fcgi.c.206: child spawned successfully: PID: 1387
spawn-fcgi.c.206: child spawned successfully: PID: 1388
spawn-fcgi.c.206: child spawned successfully: PID: 1487
spawn-fcgi.c.206: child spawned successfully: PID: 1287
spawn-fcgi.c.206: child spawned successfully: PID: 1357
spawn-fcgi.c.206: child spawned successfully: PID: 1187
geht, hat aber ein Space am Anfang
cat testfile.txt | cut -d":" -f4
Zahl am Anfang ohne Space....-c2-6 solltene eben bis zu 6 Zeichen der PID nehmen
cat testfile.txt | cut -d":" -f4 | cut -c2-6
geht leider nicht auf solaris
cat testfile.txt | grep -o -e '[0-9]\{1,5\}$'
geht, hat aber auch wieder nen Space am Anfang wenn es gefunden wird.
cat testfile.txt | awk -F":" '{print $4}'
Vorausgesetzt die sind halt alle gleich aufgebaut funzt das auch besser:
cat testfile.txt | awk -F" " '{print $6}'
oder
cat testfile.txt | cut -d" " -f6
MFG
geht, hat aber ein Space am Anfang
cat testfile.txt | cut -d":" -f4
cat testfile.txt | cut -d ":" -f4 | tr -d ' '
#bzw ohne 'Deppen-cat'
cut -d ":" -f4 testfile.txt | tr -d ' '
geht leider nicht auf solaris
cat testfile.txt | grep -o -e '[0-9]\{1,5\}$'
Getestet mit GNU grep 2.5.3. Unterscheidet sich imho von anderen grep-varianten.
Danke Danke!
cut -d : -f 4 war wohl das einfachste. :smile:
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.