首页 > 解决方案 > 使用 awk 交换由给定字符串分隔的两组单词

问题描述

在我的输入文件中,每行有两个单词,由字符串“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

是否还可以在输出中用“-”替换“交换”,例如:

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

标签: awk

解决方案


以下awk可能会对您有所帮助。

awk -F" +swap +" '{print $NF,"-",$1}'  Input_file

推荐阅读