[gelöst] Problem mit sed und Variable

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
debnuxer
Beiträge: 236
Registriert: 10.03.2012 12:12:21

[gelöst] Problem mit sed und Variable

Beitrag von debnuxer » 19.09.2013 18:04:57

Hallo Leute,

eigentlich wollte ich auf folgende Weise mit Sed bestimmte Zeilen aus der Textdatei A in der Textdatei B loswerden.

for x in "$(cat ./textdatei_a.txt)"; do sed '/$x/d' ./textdatei_b.txt > ./textdatei_c.txt; done

Aber Sed kommt leider nicht mit der Variable klar.

Was kann man da sonst machen.
Zuletzt geändert von debnuxer am 19.09.2013 21:18:45, insgesamt 1-mal geändert.
Das Leben ist wie ein überdimensionales Schachbrett.

charno
Beiträge: 636
Registriert: 28.06.2004 20:24:34

Re: Problem mit sed und Variable

Beitrag von charno » 19.09.2013 18:28:33

" statt ' verwenden KÖNNTE klappen

Variabeln sind auf Shell-Level, nicht auf sed-Level.
"Wer sich nicht bewegt, spürt seine Fesseln nicht." - Rosa Luxemburg

Benutzeravatar
r900
Beiträge: 1053
Registriert: 09.10.2011 20:06:11
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Stockholm

Re: Problem mit sed und Variable

Beitrag von r900 » 19.09.2013 20:07:23

charno hat geschrieben:" statt ' verwenden KÖNNTE klappen
Das ist ein Teil des Problems. Der andere Teil ist dass du wahrscheinlich die Zeilen aus textdatei_a.txt als Löschmuster verwenden willst.

Code: Alles auswählen

for x in "$(...)"
weist x allerdings den gesamten Inhalt der Textdatei zu. Und

Code: Alles auswählen

for x in $(...)
weist x nicht die komplette Zeile zu sondern jedes Wort einzeln. Da könnte man die IFS-Variable neu setzen aber eine for-Schleife ist für das was du machen willst ohnehin nicht das richtige. Du liest ja bei jedem Durchlauf die Datei neu ein und überschreibst textdatei_c.txt.

Probier es mal so:

Code: Alles auswählen

x=$(tr -s '\n' '|' < muster.txt); egrep -v "${x%|}" < eingabe.txt > ausgabe.txt

debnuxer
Beiträge: 236
Registriert: 10.03.2012 12:12:21

Re: Problem mit sed und Variable

Beitrag von debnuxer » 19.09.2013 21:18:10

Vielen Dank. Letzteres hat es gebracht, muss ich mir gleich mal genauer anschauen...
Das Leben ist wie ein überdimensionales Schachbrett.

Antworten