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. 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. 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...
  2. NFS durch Symlink auf lokales Dateisystem entlasten

    NFS durch Symlink auf lokales Dateisystem entlasten: Hallo zusammen, ich bin neu hier und auch nicht sicher ob ich mich hier im richtigen Forum befinde... Darum schon mal sorry wenn es eigentlich...
  3. Linux "vergisst" Dateisystem?

    Linux "vergisst" Dateisystem?: Hallo zusammen! Aufgrund des von mir hier beschriebenen Problems habe ich nun die halbe Nacht "durchgearbeitet", da ein komplett neues Konzept...
  4. 2 Spalten in EINER Textdatei GETRENNT addieren

    2 Spalten in EINER Textdatei GETRENNT addieren: Hey, bin ein ziemlicher Neuling in Sachen programmieren. Nun steh ich vor dem Problem, dass ich 2 Zahlenspalten inner Textdatei (vim) getrennt...
  5. User sollen Dateien speichern und ändern, aber nicht neu anlegen dürfen

    User sollen Dateien speichern und ändern, aber nicht neu anlegen dürfen: Hallo liebe Helfer, welche Einstellungen muss ich in der smb.conf bzw. unter Linux vornehmen, damit User vorhandene Dateien öffnen und speichern...