Mam duże pliki tekstowe z ciągami rozdzielanymi spacjami (2-5). Ciągi mogą zawierać „” lub „-”. Chciałbym zastąpić powiedzmy drugie miejsce rurą.
Jaka jest najlepsza droga?
Korzystając z sed, myślałem o tym:
sed -r 's/(^[a-z'-]+ [a-z'-]+\b) /\1|/' filename.txt
Jakieś inne / lepsze / prostsze pomysły?
sed
pliku informacyjnego: „Uwaga: standard POSIX nie określa, co powinno się stać, kiedyg' and NUMBER modifiers, and currently there is no widely agreed upon meaning across
miksujesz implementacje sed”. W przypadku GNU „sed” interakcja jest zdefiniowana jako: zignoruj dopasowania przed NUMBER, a następnie dopasuj i zamień wszystkie dopasowania od NUMBER dnia ”.