Используйте awk, чтобы поменять местами два набора слов, разделенных заданной строкой. - PullRequest
0 голосов
/ 12 июня 2018

В моем входном файле каждая строка содержит два слова, разделенных строкой «swap».Мне нужно поменять слово (слова) перед словом "swap" со словом (ами) после слова "swap" в каждой строке.

Ввод: 'cat myfile.txt'

world swap hello
hoo swap woo 
I'm cooler swap You're cool

Ожидаемый результат:

hello swap world
woo swap hoo
You're cool swap I'm cooler

Возможно ли дополнительно заменить 'swap' на '-' ввывод как:

hello - world
woo - hoo
You're cool - I'm cooler

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

После awk может вам помочь.

awk -F" +swap +" '{print $NF,"-",$1}'  Input_file
0 голосов
/ 12 июня 2018

Попробуйте это: awk -F"swap" '{print $2 " - " $1 }' myfile.txt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...