poczytaj trochę o lookahead/Lookbehind w regexach. one działają podobnie jak if. ewentualnie wykorzystaj awk, perl, ostatecznie basha czyli połączenie wszystkiego jeśli nie chcesz perla :) w sed można tworzyć zmienne i łączyć wyszukiwania. polecam do seda, awk, regex, etc do testowania polecam stronę regex101.com - ma fajny debuger regexow + fajnie rozwija składnie danego regexa
Chciałbym znowu należeć do jakiejś grupki znajomych i móc się co jakiś czas spotykać tak po prostu żeby wyjść, pograć w plejstejszyn albo pograc sobie w majnkampfa. Czemu dorosłość jest taka samotna
Zagadka regexowa
Plik(i) w ktorych mamy wiele wystapien pewnego strina o przykladowym formacie
ayy\n(lmao\d\n)+
czyli przykladowo
ayylmao1
lmao2
lmao3
chcemy zamienic na
ayyehh(lmao\d)
ehh(lmao\d)
ehh(lmao\d)
ilosc powtorzen linii lmao\d jest nieznana, ale dodatnia
ayy musi koniecznie byc pierwsza linia
Ktos wie jaki regex zlapie i zamieni taki string?
sed 's/\(lmao\d\)/ehh(\1)/'ddlmao1
lmao2
ayy1lmao1
lmao2
lmao3
ayy1
lmao1
sed 's/\(lmao[0-9]\+\)/ehh(\1)/'@pingwindyktator
W pythonie to nie problem (tak to ostatecznie rozwiązałem). Raczej byłem ciekawy czy w ogóle da się to zastąpić sedem.
To niestety zamieni każdą linie lmao, a mi zależy konkretnie na tych które są poprzedzone linia ayy( n linii lmao bezpośrednio po jednej linii ayy).
arribay lmao
ewentualnie wykorzystaj awk, perl, ostatecznie basha czyli połączenie wszystkiego jeśli nie chcesz perla :)
w sed można tworzyć zmienne i łączyć wyszukiwania. polecam do seda, awk, regex, etc
do testowania polecam stronę regex101.com - ma fajny debuger regexow + fajnie rozwija składnie danego regexa