Stringsuche in Datei

Diskutiere Stringsuche in Datei im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; 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...

  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. #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
     
  3. #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}}')
     
  4. #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
     
  5. 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...

     
  6. 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".
     
Thema:

Stringsuche in Datei

Die Seite wird geladen...

Stringsuche in Datei - Ähnliche Themen

  1. Anlage einer SWAP-Datei unter CentOS 7 funktioniert nicht

    Anlage einer SWAP-Datei unter CentOS 7 funktioniert nicht: Hallo zusammen, ich verwende einen vServer von Strato (Linux V30) mit CentOS 7 64bit. Hier wollte ich nun einen SWAP-Speicher mit 8GB anlegen -...
  2. Dateiinhalt verdoppeln

    Dateiinhalt verdoppeln: Hallo, ich möchte den Inhalt einer Datei verdoppeln, Kopf- und Endesatz ausgenommen. Danach muss im Endesatz die Datensatzanzahl angepasst werden...
  3. Dateien in Unix finden, die mehrere Strings beinhalten

    Dateien in Unix finden, die mehrere Strings beinhalten: Hallo liebe Leute, ich versuche über die Shell unter Unix alle Dateien ausfindig zu machen, die sowohl den SuchstringA als auch den SuchstringB...
  4. Textdatei filtern und löschen mit grep /sed

    Textdatei filtern und löschen mit grep /sed: Guten morgen liebe Forenmitglieder, da ich etliche Jahre in Sachen Linux pausiert habe und nun wegen beruflichem Wechsel wieder dort einsteige...
  5. Fragen zu stty, quotes und Datein (flush)

    Fragen zu stty, quotes und Datein (flush): Hi, ich schreibe seit ein paar Tagen ein Skript, dass über die Serielle Schnittstelle kommuniziert. Leider gibt es noch zwei Probleme, die ich...