如何在unix中更改cut命令中的字段顺序
我想以特定格式打印字段, 输入: 我使用了如何在unix中更改cut命令中的字段顺序,unix,sed,awk,Unix,Sed,Awk,我想以特定格式打印字段, 输入: 我使用了cat文件| cut-d'|'-f3,1,4 输出: 但我的预期产出是: col3|col1|col4 有人能帮我吗 来自人工切割: 所选输入的写入顺序与读取顺序相同,并且只写入一次 你应该做: $ awk -F'|' -vOFS='|' '{print $3,$1,$4}' <<< "col1|col2|col3|col4" col3|col1|col4 $awk-F'|'-vOFS='|'{print$3,$1,$4}'尽管a
cat文件| cut-d'|'-f3,1,4
输出:
但我的预期产出是:
col3|col1|col4
有人能帮我吗 来自
人工切割:
所选输入的写入顺序与读取顺序相同,并且只写入一次
你应该做:
$ awk -F'|' -vOFS='|' '{print $3,$1,$4}' <<< "col1|col2|col3|col4"
col3|col1|col4
$awk-F'|'-vOFS='|'{print$3,$1,$4}'尽管awk很好,但这里有一个perl解决方案:
perl -F"\|" -ane 'print join "|",@F[2,0,3]'
测试:
> echo "col1|col2|col3|col4" | perl -F"\|" -ane 'print join "|",@F[2,0,3]'
col3|col1|col4
可能的副本得到了答案,…谢谢:-D
perl -F"\|" -ane 'print join "|",@F[2,0,3]'
> echo "col1|col2|col3|col4" | perl -F"\|" -ane 'print join "|",@F[2,0,3]'
col3|col1|col4