(erledigt) sed - warum wirkt das pattern nicht mehr ?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
ren22

(erledigt) sed - warum wirkt das pattern nicht mehr ?

Beitrag von ren22 » 16.11.2018 15:52:03

Hallo,

eine Textdatei.txt mit folgenden Inhalt:

Code: Alles auswählen

geologen_suche egeo1 eisen
geologen_suche egeo2 eisen
geologen_suche sgeo1 stein
geologen_suche sgeo2 stein
und dazu die bash Datei mit folgenden Inhalt:

Code: Alles auswählen

#!/bin/bash

sed -n '/^geologen_suche.*\eisen$/p' ./textdatei.txt
sed -n '/^geologen_suche.*\stein$/p' ./textdatei.txt

Als Ausgabe bekomme ich:

Code: Alles auswählen

$ ./testdatei.sh
geologen_suche egeo1 eisen
geologen_suche egeo2 eisen
Meine Frage lautet: warum greift das PatternMatching bei den ersten beiden Zeilen(eisen) und bei der 3ten und 4.ten Zeile erhalte ich keine Ausgabe mehr:

getested unter Bash 4.4.12(1) / sed (GNU sed) 4.4 und Debian9(x64).
Zuletzt geändert von ren22 am 16.11.2018 16:18:05, insgesamt 1-mal geändert.

tobo
Beiträge: 2336
Registriert: 10.12.2008 10:51:41

Re: sed - warum wirkt das pattern nicht mehr ?

Beitrag von tobo » 16.11.2018 16:11:44

Du escapest \e und \s - warum? \e hat keine Bedeutung und bleibt deshalb e, \s steht für ein Leerzeichen (space) und damit wird das zu " tein" und nicht mehr gefunden. Beide \ einfach entfernen...

ren22

Re: sed - warum wirkt das pattern nicht mehr ?

Beitrag von ren22 » 16.11.2018 16:17:41

:hail: vielen Dank. :THX:

Antworten