Używam sedw systemie Linux, próbując dopasować linie danych mające trzy pola, tabulator oddzielony (ale separacja może być dowolna biała spacja), jak w:
12.3 0a 1b
15.5 0v 1h
17.7 5k 3c
; teraz używam tego:
sed -n 's/^\([^[:blank:]]*\)[[:blank:]]*\([^[:blank:]]*\)[[:blank:]]*\([^[:blank:]]*\)/\1\t\3\t\2/p' mydata.txt
... więc jestem w stanie wyodrębnić i manipulować (w przykładzie, tylko pozycja inwersja) poprzez poszczególne pola \1, \2, \3.
Czy istnieje lepszy sposób na określenie tego?
Twoje zdrowie!
awklub perl, więc zawsze gdy mam taki problem z „odwróceniem pola w danych tekstowych”, pierwszą rzeczą, o której myślę, jest to, co wiem: „ \2 \1” z sed. Jednak sednieadekwatność do zadania jest również odpowiedzią, którą doceniam ( ponieważ, jak powiedziałem, nie jest to pierwsza rzecz, która przychodzi mi na myśl, gdy mam ten problem ) ... Pozdrawiam!
sedmoże nie być najlepszym narzędziem do tego. Czy jest jakiś szczególny powód, dla którego nie chcesz używaćawk,perllub coś lepszego?