Datei durchsuchen nach einen bestimmten Wert ?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
LeoManiac
Beiträge: 179
Registriert: 02.10.2003 20:22:30

Datei durchsuchen nach einen bestimmten Wert ?

Beitrag von LeoManiac » 10.08.2004 18:42:29

Hallo,

wie kann ich eine Datei nach einen bestimmten durchsuchen Wert durchsuchen ?

Das Format des Wertes sieht in etwa so aus :

Code: Alles auswählen

wert = 0

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 10.08.2004 18:51:13

Steht der Wert so allein in einer Zeile? Wenn ja: "grep 'wert = 0' datei"

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

LeoManiac
Beiträge: 179
Registriert: 02.10.2003 20:22:30

Beitrag von LeoManiac » 10.08.2004 18:57:16

pdreker hat geschrieben:Steht der Wert so allein in einer Zeile? Wenn ja: "grep 'wert = 0' datei"

Patrick
Hab mich vieleicht etwas falsch ausgedrückt ich möchte nur den Wert nicht die ganze Zeile muss als per RegEx geschehen aber damit hab ich noch so meine Problemchen ;)

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 10.08.2004 19:01:16

Du suchst also nach dem Namen der Variablen, und willst den Wert auslesen?

Code: Alles auswählen

WERT = `grep "^wert =" datei | cut -d "=" -f 2`
in einem Shell Skript hinterlässt in $WERT den Wert der Variablen. Evtl. müssen da noch Spaces oder so weggefilter werden...

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

LeoManiac
Beiträge: 179
Registriert: 02.10.2003 20:22:30

Beitrag von LeoManiac » 10.08.2004 19:05:39

jo sowas suchte ich das funktioniert aber lässt sich das nicht auch mittels RegEx ohne cut ebenso lösen ?

Ich kenn das aus PHP da klappts wunderbar über RegEx aber in bashscripts steht ich damit auf Kriegsfuss.

[edit]
so zb. nur hier bekomme ich auch nur die komplette Zeile

Code: Alles auswählen

egrep -e '^Wert = (.*)' datei

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 10.08.2004 21:48:51

grep matched nur Zeilen und gibt sie bei einem Treffer aus. Selektieren kann das nicht, das geht dann mit sed, oder IMO einfacher mit cut, wenn die Struktur einfacher ist...

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Antworten