Czy istnieje sposób, bez podwójnej pętli do osiągnięcia tego, co wykonuje następujące polecenia sedpyton równoważne sed
Wejście:
Time
Banana
spinach
turkey
sed -i "/Banana/ s/$/Toothpaste/" file
wyjściowa:
Time
BananaToothpaste
spinach
turkey
Co mam do tej pory, to podwójna lista, która zajęłaby dużo czasu, aby przejść przez oba.
Lista a ma kilka numerów lista B ma taką samą masę numerów, ale w innej kolejności
Dla każdego wpisu w A chcę znaleźć linię B z tym samym numerem i wartość dodaną C do końca.
Mam nadzieję, że to ma sens, nawet jeśli mój przykład nie ma.
robiłem następujących w bash i to działa jednak to było bardzo powolne ...
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
Dzięki!
Twój sed przykład nie jest równoznaczne z tym, czego rzeczywiście próbuje zrobić. –
Tak więc w bash robiłem to i działało, ale super powolne ... – user1601716
można faktycznie uruchomić sed w Pythonie za pomocą polecenia 'subprocess'. – karthikr