Ein Wort aus einer Zeile suchen und rausschneiden...

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von simplex, 21.01.2006.

  1. #1 simplex, 21.01.2006
    simplex

    simplex [Versuchstier]

    Dabei seit:
    08.10.2004
    Beiträge:
    245
    Zustimmungen:
    0
    Ort:
    Hessen, nähe Limburg
    Hallo, folgende Zeile ist gegeben:

    Es soll aus der Zeile bzw. aus den Zeilen das wort mysqld gesucht werden und in eine Datei übergeben werden...

    Ergebnis:

    ich brauche dies um zu überprüfen ob ein prozess läuft...(mysql) - damit ich dann eine if abfrage starten kann ob mysqld läuft oder nicht..

    danke schon mal
    micha
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Xanti, 21.01.2006
    Zuletzt bearbeitet: 21.01.2006
    Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Code:
    perl -n -e '/(\w*)$/?print "datei $ARGV hat folgenden inhalt: $1":1' quelldatei > auswertungsdatei
    
     
  4. #3 simplex, 21.01.2006
    simplex

    simplex [Versuchstier]

    Dabei seit:
    08.10.2004
    Beiträge:
    245
    Zustimmungen:
    0
    Ort:
    Hessen, nähe Limburg
    danke schon mal..

    eventuell falsch ausgedrückt...es soll dann einfach nur eine datei mit dem inhalt des gesuchten wortes "mysqld" angelegt werden...wenn es dieses wort nicht gibt...soll die datei leer sein..


    überprüfungsdatei - inahalt: 30584 pts/1 00:00:00 mysqld
    auswertungsdatei - inhalt : mysqld (oder nichts)

    perl...ich dachte es geht mit einem einfach shell befehl..aber ist ja kein problem den perl befehl in ein shell skript reinzuhauen oder?
     
  5. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Code:
    perl -n -e '/mysqld$/?print mysqld:1' quelldatei > auswertungsdatei
    
    Ich habs mit Perl gemacht, weil es (für mich) einfacher ist.
     
  6. #5 Wolfgang, 21.01.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Ich vermute mal, dass du nur feststellen willst ob mysqld läuft.
    Könnte es sein, dass du vorher eine Datei mit der Ausgabe von ps angelegt hast?

    Vorschlag:
    Direkt aus ps:
    ps -A |grep -o "[m]ysqld" >outputdatei
    oder wenn du es aus der Datei willst
    grep -o "mysqld" Inputfile >Outputfile

    Wenn du nur das erste Vorkommen haben willst, häng noch ein |head -n1| dazwischen.

    Gruß Wolfgang
    Achso grep (GNU grep) 2.5.1
     
  7. #6 simplex, 21.01.2006
    Zuletzt bearbeitet: 21.01.2006
    simplex

    simplex [Versuchstier]

    Dabei seit:
    08.10.2004
    Beiträge:
    245
    Zustimmungen:
    0
    Ort:
    Hessen, nähe Limburg
    hey wolfgang :)

    genau das ist es was ich gesucht habe :) vielen lieben dank!! :)

    :D

    edit: wo müsste ich denn das |head -n1| zwischenhängen?

    ps -A | head -n1| grep -o "[m]ysqld" > test

    so funktioniert es nicht

    edit2:
    ps -A | grep -o "[m]ysqld" | head -n1
    okeh, so gehts ;)
     
  8. #7 Wolfgang, 21.01.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo

    ps -A |grep -o "[m]ysqld" |head -n1 >outputdatei

    man head

    Gruß Wolfgang
     
  9. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  10. #8 simplex, 21.01.2006
    simplex

    simplex [Versuchstier]

    Dabei seit:
    08.10.2004
    Beiträge:
    245
    Zustimmungen:
    0
    Ort:
    Hessen, nähe Limburg
    okeh bis dahin alles klar...

    aber wie kann ich denn die ausgabe einer variablen zuweisen?

    für mich wäre ja folgendes logisch

    ps -A |grep -o "[m]ysqld" |head -n1 > $test

    aber dem ist ja nicht so... und $test=ps -A |grep -o "[m]ysqld" |head -n1; sowie test=ps -A |grep -o "[m]ysqld" |head -n1 klappt auch nicht...
     
  11. #9 Wolfgang, 21.01.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo

    Also dir scheinen ja alle Grundlagen zu fehlen.
    Schau bitte mal die man bash an!
    Es gibt auch sehr gute Links im Netz, die an Beispielen die bash erklären.
    www.linuxfibel.de
    ist einer davon.
    VAR=WERT;
    wenn du die Ausgabe eines Befehls brauchst, dann schreib es entweder in
    VAR=`command`
    oder besser VAR=$(COMMAND);
    in deinem all also
    VAR=$(ps...);

    Gruß Wolfgang
     
Thema:

Ein Wort aus einer Zeile suchen und rausschneiden...

Die Seite wird geladen...

Ein Wort aus einer Zeile suchen und rausschneiden... - Ähnliche Themen

  1. nach einem wort in einer textdatei suchen

    nach einem wort in einer textdatei suchen: halloooo ihr lieben, ich hoffe ihr könnt mir weiterhelfen :) ich lernen momentan die skriptsprache shell und alles was dazu gehört. ich soll...
  2. [Shellscript] In einer Zeile nach einem Wort suchen

    [Shellscript] In einer Zeile nach einem Wort suchen: Moin, ich bin grade dabei ein kleines Shellscript zu schreiben,mit dem ich in der Lage bin mit lspci herauszufinden welche Grafikkarte verbaut...
  3. Die Anzahl von einem spezifischen Wort in einer Zeile anzeigen

    Die Anzahl von einem spezifischen Wort in einer Zeile anzeigen: Hallo, ich habe ein eigentlich simples Problem, wofür ich aber nirgendwo eine Lösung gefunden habe. Ich habe eine Datei, wo ich nach einem...
  4. Mehrere Wörter in einer Variable

    Mehrere Wörter in einer Variable: Nabend. Hab mal wieder ein Problem, was warschienlich wieder keine goßes is... Meine Frage: Wie kann ich in eine C++ Variable ganze sätze...
  5. Überprüfen ob ein Wort in einer Variable existiert

    Überprüfen ob ein Wort in einer Variable existiert: Hi, Ich versuche gerade ein Script zu schreiben was eine Datei ausließt und die aktuelle Zeile in $line packt. Dann will ich überprüfen ob in...