使用 awk 交换由给定字符串分隔的两组单词

Str*_*eek 5 awk

在我的输入文件中,每行都有两个单词,由字符串“swap”分隔。我需要将每行“交换”之前的单词与“交换”之后的单词交换。

输入:'cat myfile.txt'

world swap hello
hoo swap woo 
I'm cooler swap You're cool
Run Code Online (Sandbox Code Playgroud)

预期输出:

hello swap world
woo swap hoo
You're cool swap I'm cooler
Run Code Online (Sandbox Code Playgroud)

是否还可以在输出中将“swap”替换为“-”,例如:

hello - world
woo - hoo
You're cool - I'm cooler
Run Code Online (Sandbox Code Playgroud)

小智 1

尝试这个: awk -F"swap" '{print $2 " - " $1 }' myfile.txt