反转文件中列的顺序

时间:2015-11-15 21:16:51

标签: unix

我正在处理看起来很常见的数据库:

age:position:name:

我仍然不知道为什么这个数据库按此顺序制作,但为了更好的定位和操作,我想颠倒这样的顺序:

name:age:position. 

我正在尝试使用unix这样做:

datab=`cut -d : -f1,2,3 inf.major`
age=`echo "$datab" | cut -d : -f1 > age`
pos=`echo "$datab" | cut -d : -f2 > pos`
name=`echo "$datab" | cut -d : -f3 > name`
paste -d : "age" "pos" "name" > inf.major

这非常费力。如果数据只有少数“部分”除以:但它有10个以上就没关系。有没有办法如何实现相同的结果但是动态/更快?

1 个答案:

答案 0 :(得分:1)

您可以使用awk / gawk

gawk -F":" '{print $3":"$2":"$1;}' inf.major

这将在:分隔文件的每一行,并按相反的顺序打印前三个元素。