[gelöst] debian bash script if string A und B in file

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

[gelöst] debian bash script if string A und B in file

Beitrag von joe2017 » 25.07.2023 10:35:42

Hallo und kurze Frage

ich habe eine einfache if Abfrage mit grep verbunden. Ich prüfe ob ein String in einer Datei steht.

Code: Alles auswählen

if grep -q "test" /path/to/file.txt; then
  echo "yes"
else
  echo "no"
fi
Wie kann ich Strings prüfen welche aus einer Datei gelesen werden sollen? Also eine Datei mit diveren Strings.

Code: Alles auswählen

Test1
Test2
Test3
usw.
Zuletzt geändert von joe2017 am 25.07.2023 10:59:54, insgesamt 1-mal geändert.

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: debian bash script if string A und B in file

Beitrag von Meillo » 25.07.2023 10:42:45

Code: Alles auswählen

grep -f Datei-mit-REs
Btw: Wenn du keine Regulaeren Ausdruecke, sondern fixe Strings pruefen willst, dann solltest du auch noch `-F' verwenden.
Use ed once in a while!

Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

Re: debian bash script if string A und B in file

Beitrag von joe2017 » 25.07.2023 10:48:28

Danke.

Ich habe es eben ganz anders gelöst.

Code: Alles auswählen

while read line
do
if grep -q "$line" /path/to/file.txt; then
  echo "yes"
else
  echo "no"
fi
done < /path/to/file-with-var.txt

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: debian bash script if string A und B in file

Beitrag von Meillo » 25.07.2023 10:51:19

Na, das ist aber umstaendlich, wo es mit `-f' ganz direkt und ohne zusaetzliche Komplexitaet geht.
Use ed once in a while!

Benutzeravatar
joe2017
Beiträge: 1136
Registriert: 07.08.2017 14:29:51

Re: debian bash script if string A und B in file

Beitrag von joe2017 » 25.07.2023 10:58:43

Ich habe nicht gesagt das es besser oder eleganter ist. :facepalm:

Antworten