我有一个文件,例如:
Aa Bb C Y... "TO" Bb
Cc Z J >> sd "TO" Dd
Ee Z H S DFF "TO" Ff
但我想要这样的:
Bb "TO" Aa Bb C Y...
Dd "TO" Cc Z J >> sd
Ff "TO" Ee Z H S DFF
所以我可以在“TO”周围交换文本......
答案1
我会做:
awk -F ' "TO" ' '{print $2 FS $1}'
-F
定义字段分隔符(FS
变量)。假设这些行只出现一次"TO"
并且被空格包围。
使用perl
,您可以拥有更多控制权,例如:
perl -Mopen=locale -lpe 's/^(.*?)(\h*)("TO")(\h*)(.*)$/$5$4$3$2$1/'
也可以移动周围的空白"TO"
。
答案2
尝试:
awk -F" \"TO\" " '{print $2 " \"TO\" " $1}' yourfile