tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
606
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Zuixy Zuixy ist offline Grünschnabel
    Registriert seit
    Oct 2011
    Beiträge
    4
    Moin Moin an Alle,

    ich würde gern Skript schreiben das folgendes macht:

    Guckt in eine .txt-datei und wenn an der 5ten Stelle einer Zeile ein X steht, soll die Zahl am Ende der Zeile( an der 10ten Stelle, aber ich denke es ist einfacher zu sagen am Ende) zu einer Laufvariablen addiert werden. Und so halt das ganze Dokument durchsuchen.

    Könnt ihr mir da helfen? ich hab vorallem Probleme mit dem Anfang, wo es ums auslesen der zahl geht.

    Vielen Dank im Vorraus,
    Zuixy
     

  2. #2
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Nach der Unix Philosophie: für jede Aufgabe das geeignete Tool:
    Code :
    1
    
    awk 'BEGIN { i = 0; }  ($5 == "X") { i = i + $10; } END { print i }'
    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  3. #3
    Zuixy Zuixy ist offline Grünschnabel
    Registriert seit
    Oct 2011
    Beiträge
    4
    Hey,

    vielen Dank für die schnelle Antwort. So wie ich das verstehe sagt die Zeile aus:
    Laufvariable: I
    Wenn Zeichen 5 = X dann addiere Zeichen 10 zu i
    Am Ende gebe i aus.

    Allerdings hab ich noch ne Frage. Wie sag ich dem Programm, das es die Datei log.txt öffnen soll und das dann dort ausführt?

    Grüße
     

  4. #4
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.
    Zitat Zitat von Zuixy Beitrag anzeigen
    So wie ich das verstehe sagt die Zeile aus:
    Laufvariable: I
    Wenn Zeichen 5 = X dann addiere Zeichen 10 zu i
    Am Ende gebe i aus.
    Ja.
    Zitat Zitat von Zuixy Beitrag anzeigen
    Allerdings hab ich noch ne Frage. Wie sag ich dem Programm, das es die Datei log.txt öffnen soll und das dann dort ausführt?
    Einfach als Parameter übergeben:
    Code bash:
    1
    
    awk .... log.txt
    oder (z.B. wenn die Datei noch vorverarbeitet werden soll) einfach auf die Standardeingabe schreiben:
    Code bash:
    1
    
    cat log.txt | awk ...
    Gruß

    PS: Mit $NF kannst du übrigens auf das letzte Feld einer Zeile zugreifen.
    Geändert von deepthroat (28.10.11 um 16:03 Uhr)
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  5. #5
    Zuixy Zuixy ist offline Grünschnabel
    Registriert seit
    Oct 2011
    Beiträge
    4
    ich hab jetzt mal was probiert.

    Die Datei "Eins" hat den Inhalt:
    a=3

    Und das Skript lautet:

    #!/bin/bash

    awk 'BEGIN { i = 0; } ($1 == "a") { i = i + $3 ; } END { print i }' Eins

    Ich dachte eigentlich ich bekomm dann als Ausgabe 3 aber es kommt immer nur 0. Was hab ich falsch gemacht?

    Grüße
     

  6. #6
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Du warst wohl etwas ungenau bei der Beschreibung deines Problems. Deshalb hab ich dich wohl missverstanden.

    Mit der "5ten Stelle einer Zeile" meinst du wohl das 5. Zeichen der Zeile?

    AWK arbeitet etwas anders (schau doch mals ins Handbuch: http://www.manpagez.com/man/1/awk/). Aber man kann es auch dafür missbrauchen.
    Code :
    1
    
    awk -F '' ...
    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  7. #7
    Zuixy Zuixy ist offline Grünschnabel
    Registriert seit
    Oct 2011
    Beiträge
    4
    Hey,

    vielen Dank. Ich habs jetzt hin bekommen.

    Grüße
    Zuixy
     

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 19.07.10, 15:09
  2. Antworten: 3
    Letzter Beitrag: 10.12.08, 12:01
  3. Auslesen aus einer Textdatei
    Von andy555 im Forum PHP
    Antworten: 11
    Letzter Beitrag: 16.08.06, 15:32
  4. x-Zeile einer Textdatei auslesen
    Von schiese im Forum PHP
    Antworten: 9
    Letzter Beitrag: 01.06.06, 22:02
  5. Auslesen einer Textdatei
    Von skee im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 02.12.03, 09:57

Stichworte