分隔字符串的AWK排序

时间:2019-06-27 12:14:14

标签: regex awk

我的字符串带有“ |”分隔字段:

name|phone|email|surname|house|street|

从代码端开始,该字符串的末尾是“ \ n” 如何使用awk保存分隔符对该字符串重新排序?

awk '{print $1,$4,$3,$2....}'不起作用,它只是删除列。

3 个答案:

答案 0 :(得分:1)

设置输入和输出字段分隔符:

echo 'name|phone|email|surname|house|street|' |\
  awk '{print $1,$4,$3,$2,$6,$7}' FS='|' OFS='|'

输出:

name|surname|email|phone|street|

答案 1 :(得分:1)

使用awk

$awk '{print $1,$4,$3,$2}' FS="|" OFS="|" file
name|surname|email|phone

答案 2 :(得分:0)

以下是通过临时变量交换字段2和4的方法:

awk -F'|' '{ tmp=$2; $2=$4; $4=tmp } 1' OFS='|'