python-äquivalent zu sed

Gibt es eine Möglichkeit, ohne eine doppelte Schleife zu erreichen, was mit dem folgenden sed-Kommando hat

Eingang:

Time
Banana
spinach
turkey

sed -i "/Banana/s/$/Toothpaste/" file

Ausgabe:

Time
BananaToothpaste
spinach
turkey

Was ich habe, so weit ist es eine doppelte Liste, das würde eine lange Zeit dauern, bis gehen durch beide.

Liste a hat eine Reihe von zahlen
Liste b hat die gleiche Reihe von zahlen, aber in einer anderen Reihenfolge

Für jeden Eintrag im Ein ich möchten, suchen Sie die Zeile B mit der gleichen Anzahl und den Wert C zu Ende.

Hoffe, das macht Sinn, auch wenn in meinem Beispiel nicht.

Ich Tat Folgendes in die Bash und es war Arbeit aber es war super langsam...

for line in $(cat DATSRCLN.txt.utf8); do
        srch=$(echo $line | awk -F'^' '{print $1}');
        rep=$(echo $line | awk -F'^' '{print $2}');
        sed -i "/$(echo $srch)/s/$/^$(echo $rep)/" tmp.1;
done

Dank!

Ihre sed-Beispiel ist nicht äquivalent zu dem, was du eigentlich machen willst.
Also in der bash war ich dabei und es war Arbeit, aber super langsam...
Sie können tatsächlich laufen, sed in python mit der subprocess Befehl.
Schauen Sie in re.match und re.sub, das sind die groben Python-äquivalente zu grep und sed.
Ihre sed-code, den bash-code, und Ihre verbale Beschreibung, was du tust, sind drei verschiedene Dinge. Was bist du eigentlich machen willst?

InformationsquelleAutor user1601716 | 2012-10-03

Schreibe einen Kommentar