Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Linux / Unix: hilfe zu grep

Hallo Leute

ich komme mit den befehl grep nicht klar, in den script gehts darum es soll ein wort mit ein wert gefunden werden in einer anderen datei, und ausgelesen werden.

ich bin jetzt bei den stand:
script:
mzwert=`grep 'wert_c data' /tmp/linse | cut -d';' -f3`

in der datei ist ein xml format und dort ist das so:
 ;wert_c data='3'#;

wie schaffe ich es das die 3 übergeben wird?

danke im vorraus


Antworten zu Linux / Unix: hilfe zu grep:

mzwert=`egrep 'wert_c data' /tmp/linse | cut -d"'" -f2`

man grep

Hallo

leider hilft es auch nicht.
Fehlermeldung: cut: you must specify a list of bytes, characters, or fields

ich habe ein ähliches script probiert aber das leuft nicht.
hier mal der ausschnitt:

   mzwert=`egrep 'wert_c data' /tmp/linse | cut -d"" -f2`
      mlength=`expr length $mzwert`
      [ $mlength -eq 1 ] && mzwert="%C2%A0%C2%A0$mzwert"
      [ $mlength -eq 2 ] && mzwert="%C2%A0$mzwert"

fehler auch bei expr: syntax error

aber das liegt denke ich mal daran das der mzwert nicht übergeben wird.

Jemand eine idee?

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

hi,
mit der Zeile von Knut wird die 3 richtig übergeben.
allerdings hast Du insofern recht, wenn die 3 nicht übergeben wird, wird bei expr ein Syntaxfehler geliefert.

Stimmt die Zeile so aus der Datei "linse"?
Ist "wert_c data" nur einmal in der Datei vorhanden?

Hallo

Ja der wert ist nur einmal in der datei drinn:

so steht es da drinn.
;wert_c data="3"#;

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Fehler gefunden  ;D

vergleiche nochmal den Code-Auschnitt von Knut mit Deinem:

mzwert=`egrep 'wert_c data' /tmp/linse | cut -d"'" -f2`

die fehlermeldung bleib die gleiche
expr: syntax error

ich denke nochmal nach, vielleicht brauche ich eine andere lösung.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

also wenn Du exakt die Zeile aus Antwort #1 benutzt, wird die 3 herausgesiebt und expr liefert keinen Syntax-Fehler

versuchs mal mit Kopieren statt Abschreiben(den Unterschied hast Du gesehen?)

 

Zitat
(den Unterschied hast Du gesehen?)
offensichtlicht nicht!
Und auch nur blind ohne zu denken abgepinselt!

Hier etwas größer und die Leerzeichen sind zu verdeutlichen und sind im Befehl nicht enthalten


| cut -d"  '  "  -f2

ich habe das vorhin schon vergrößert um sich zu gehen das ich das richtig lese.
Leider bleibt der Fehler.

ich hab es genau so abgeschrieben.

habt ihr vielleicht noch eine andere idee?

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Dies funktioniert sowohl mit der Bash wie auch der sh auf jeder mir bekannten Distri definitiv.

Poste mal bitte nochmal einen Auszug aus Deinem Script, so wie es momentan aussieht.
Dabei bitte 1:1 kopieren, nicht abschreiben!

Hast Du an den SHELL-Variablen manipuliert? 

« Letzte Änderung: 20.11.11, 15:49:26 von SQL-Freak »

und der Datei  /tmp/linse


« Div. Distros: Bild-/Grafikfehler beim BootenSuse: Fotobearbeitung »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Auslagerungsdatei
Die Auslagerungsdatei, auch bekannt als virtueller Speicher, ist ein wichtiges Element im Windows-Betriebssystem. Sie dient als Erweiterung des physischen Arbeitsspeicher...

Dateiendungen
Die Dateiendung, auch Dateinamenerweiterung, Dateierweiterung oder einfach "Endung" genannt, besteht aus meistens drei oder vier Buchstaben und wird mit einem Punkt an de...

Dateisystem
Das Dateisystem eines Computers definiert, wie Daten auf einem Speichermedium organisiert werden. Es bestimmt dabei, wie die Informationen auf dem Medium gespeichert, gel...