Stringsuche in Datei

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von hexe, 02.05.2008.

  1. hexe

    hexe Grünschnabel

    Dabei seit:
    02.05.2008
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo zusammen,

    ich hoffe ihr könnt mir helfen. Bin Anfängerin im Scripten - wäre also nett, wenn ihr versucht es möglichst einfach zu erklären.

    Folgendes Problem:
    Ich habe ein Variable - diese enthält immer 6 Ziffern.
    In einer Datei stehen in zwei Spalten - 6 Ziffern und 5 Ziffern
    111111 22222
    222222 33333
    333333 44444

    Nun soll in der Datei nach der Variablen v gesucht werden. Wenn die Variable v z. B. 222222 enthält, dann soll Spalte 2 (33333) in die Variable z ausgegeben werden.

    Komme einfach nicht dahinter... :hilfe2:
     
  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 der_Kay, 02.05.2008
    Zuletzt bearbeitet: 02.05.2008
    der_Kay

    der_Kay Doppel-As

    Dabei seit:
    28.02.2006
    Beiträge:
    140
    Zustimmungen:
    0
    Code:
    #var.txt
    111111 22222
    222222 33333
    333333 44444
    
    Die letzten Zeichen in der Trefferzeile, die keine Whitespaces sind:
    Code:
    #!/bin/sh
    # findZ.sh
    Z=`fgrep $1 $2 | grep -oEe "\w+$"`
    echo $Z
    Aufruf:
    Code:
    ./findZ.sh 333333 var.txt
     
  4. #3 Gott_in_schwarz, 02.05.2008
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Hört sich nach einem Job für awk an:
    Code:
    echo -e "111 22\n333 55"|awk '{if(/333/) {print $2}}'
    In Worten: wenn die Regex (hier allerdings ein Stringmatch) 333 in der Zeile match gebe Spalte zwei (in dem Fall 55) auf dem Bildschirm aus. (So in etwa..)
    Dann noch mit Variablen:
    Code:
    v="333"
    z=$(echo -e "111 22\n333 55"|awk '{if(/'$v'/) {print $2}}')
     
  5. #4 Wolfgang, 02.05.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Von was reden wir hier?


    Schnellschuß ungetestet für die bash (spekulativ, da du weder OS noch Shell nennst), ohne awk und zusätzliche Prozesse:
    Code:
    v="222222";
    NEW="33333";
    while read INPUT1 INPUT2;do
          if [ "$INPUT1"="$v" ];
                  then z="$NEW";
          fi;
    done <inputfile
    echo "$z"
    
    Gruß Wolfgang
     
  6. hexe

    hexe Grünschnabel

    Dabei seit:
    02.05.2008
    Beiträge:
    2
    Zustimmungen:
    0
    Noch eine kleine Hilfestellung

    Hallo zusammen,
    ich habe gleich die erste Lösung getestet - sie funktioniert bei mir aber nicht ganz...

     
  7. karru

    karru OSX'ler

    Dabei seit:
    02.05.2006
    Beiträge:
    338
    Zustimmungen:
    0
    Du verwendest ein "anderes" grep.

    Das Solaris-Grep wird sich im Aufbau der Kommandozeilenparameter vom GNU-Grep unterscheiden. Genau wie das BSD-Grep sich wiederrum anders "verhält".
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Stringsuche in Datei

Die Seite wird geladen...

Stringsuche in Datei - Ähnliche Themen

  1. Suche in Datei doppelte Wörter in jeder Zeile bis zum dritten Leerzeichen...

    Suche in Datei doppelte Wörter in jeder Zeile bis zum dritten Leerzeichen...: Ich habe eine Textdatei in der ich Einträge bis zum 3. Leerzeichen mit den restlichen Zeilen (auch nur bis 3. Leerzeichen) vergleichen muss und...
  2. Alle Dateien eines Verzeichnisses mit einer anderen Datei vergleichen

    Alle Dateien eines Verzeichnisses mit einer anderen Datei vergleichen: Hallo, ich habe ein Verzeichnis, darin enthalten sind mehrere Dateien. Nun möchte ich alle Dateien (Parameter $1) gegen eine konstante Datei...
  3. Dateiinhalte vergleichen - Neue Sätze dann ausgeben

    Dateiinhalte vergleichen - Neue Sätze dann ausgeben: Liebe Forumsmitglieder, ich benöte mal wieder Eure Hilfe: Ich möchte 2 Dateien vergleichen. Datei-1 hat z.B. 100 Datensätze mit mehreren Feldern...
  4. Dateien selektieren und zählen

    Dateien selektieren und zählen: Hallo, das ist mein erster Beitrag, bitte entschuldigt, falls nicht alles richtig geschrieben ist. Ich muss meine erste Hausaufgabe als...
  5. Timestamp an Inhalt einer Textdatei anfügen

    Timestamp an Inhalt einer Textdatei anfügen: Hallo, ich als neuer, unerfahrener Nutzer von Linux und der bash hätte folgende Frage. Und zwar würde ich gerne mit einem command den Zeitstempel...