Gibt es eine Möglichkeit, ohne eine Doppelschleife zu erreichen, was die folgende Sed Befehl führtPython entspricht Sed
Input:
Time
Banana
spinach
turkey
sed -i "/Banana/ s/$/Toothpaste/" file
Output:
Time
BananaToothpaste
spinach
turkey
Was ich bisher habe, ist eine Doppelliste, die lange dauern würde durch beide.
Liste weist eine Reihe von Zahlen Liste b a die gleiche Reihe von Zahlen, aber in einer anderen Reihenfolge
Für jeden Eintrag in A hat mag ich die Linie in B mit der gleichen Zahl zu finden und einen Mehrwert C bis zum Ende davon.
Hoffe das macht Sinn, auch wenn mein Beispiel nicht.
ich in Bash folgend tat, und es funktioniert 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!
Ihr sed Beispiel ist nicht gleichwertig ersetzen, was Sie versuchen tatsächlich zu machen. –
Also in bash habe ich das gemacht und es hat funktioniert, aber super langsam ... – user1601716
Sie können tatsächlich sed in Python mit dem 'subprocess' Befehl ausführen. – karthikr