windelterrorist
Goto Top

Shell Script nach bestimmten Zeilen in einer Datei suchen

Hallo,

Ich würde gerne wissen, wie ich im Shell Script nach einer Zeile in einer bestimmten Datei (z.B. test01) suchen kann...

Mit einer if - Schleife könnte ich dann entscheiden, ob diese Zeileneingabe (z.B. abcd.local) schon vorhanden ist. face-smile


Geht das mit grep und wenn ja, wie?


Danke für eure Hilfe

Gruss, windelterrorist

Content-ID: 256074

Url: https://administrator.de/contentid/256074

Ausgedruckt am: 22.11.2024 um 17:11 Uhr

colinardo
Lösung colinardo 27.11.2014, aktualisiert am 28.11.2014 um 09:51:11 Uhr
Goto Top
Hallo windelterrorist,
grep -q 'abcd\.local' test01.txt  
if [[ $? -eq 0 ]];then
  echo "Gefunden"  
else
  echo "Nicht gefunden"  
fi
oder auch so
if grep -q 'abcd\.local' test01.txt ;then  
  echo "Gefunden"  
else
  echo "Nicht gefunden"  
fi
Grüße Uwe
windelterrorist
windelterrorist 27.11.2014 um 16:25:47 Uhr
Goto Top
Danke für deine Antwort, Uwe.

Ich habe zum Testen einmal eine test01.txt Datei erstellt, in welcher ich eine Zeile abcd.local benannte.

Danach führte ich deinen Vorschlag (oben) aus und es kam folgende Ausgabe:


testscript.bash: Zeile 5: abcd.local: Kommando nicht gefunden.
(Zeile 5: grep -q `abcd\.local` test01.txt)


Was habe ich falsch gemacht?

Grüsse windelterrorist
colinardo
Lösung colinardo 27.11.2014, aktualisiert am 28.11.2014 um 09:51:07 Uhr
Goto Top
`abcd\.local`
du hast `backticks` anstatt normalen Hochkommas verwendet face-wink
Deswegen wird der Inhalt bei dir nämlich als Befehl interpretiert, und der Befehl abcd.local existiert ja nicht.
windelterrorist
windelterrorist 28.11.2014 um 09:51:01 Uhr
Goto Top
Danke colinardo

Es hat funktioniert, da habe ich wohl ein wenig zu unkonzentriert gearbeitet ...

Grüsse windelterrorist