我的字符串带有“ |”分隔字段:
name|phone|email|surname|house|street|
从代码端开始,该字符串的末尾是“ \ n” 如何使用awk保存分隔符对该字符串重新排序?
awk '{print $1,$4,$3,$2....}'
不起作用,它只是删除列。
答案 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='|'