Chinaunix
标题:
【求助】数据文件如何反序排列?
[打印本页]
作者:
jeems
时间:
2014-03-03 15:20
标题:
【求助】数据文件如何反序排列?
源文件:
Host;1;2;3;4;5
Server;5;4;3;2;1
想反序排列成:
Host;5;4;3;21
Server;1;2;3;4;5
还没想到好的方法,请各位帮忙,谢谢
作者:
jason680
时间:
2014-03-03 15:24
回复
1#
jeems
# awk -F";" '{printf $1;for(n=NF;n>1;n--)printf ";"$n;print""}' FILE
Host;5;4;3;2;1
Server;1;2;3;4;5
作者:
yestreenstars
时间:
2014-03-03 15:26
本帖最后由 yestreenstars 于 2014-03-03 15:27 编辑
awk -F\; '{s=$1;for(i=NF;i>1;i--)s=s";"$i;print s}'
复制代码
作者:
yinyuemi
时间:
2014-03-03 15:32
回复
1#
jeems
sed -r 's/;/\n/g;:a;s/([^\n]+)(\n.*)?\n(.+)/\1;\3\2/;ta'
复制代码
作者:
yestreenstars
时间:
2014-03-03 15:38
perl -F\; -lane 'print join ";",shift @F,reverse @F'
复制代码
作者:
LikeLx
时间:
2014-03-03 16:44
本帖最后由 LikeLx 于 2014-03-03 16:44 编辑
awk -F ';' '{printf $1;for(i=NF+1;i-->2;) printf FS $i;print ""}'
复制代码
作者:
kernel69
时间:
2014-03-03 18:07
如何?
[@~]$ cat 11.txt
Host;1;2;3;4;5
Server;5;4;3;2;1
[@~]$ perl -F';' -lane 'BEGIN{$,=";"};print $F[0],reverse @F[1..$#F]' 11.txt
Host;5;4;3;2;1
Server;1;2;3;4;5
[@~]$
复制代码
回复
1#
jeems
作者:
rogantianwz
时间:
2014-03-03 18:20
回复
1#
jeems
tac urfile
作者:
rogantianwz
时间:
2014-03-03 18:21
回复
8#
rogantianwz
哦,看错了!
作者:
jeems
时间:
2014-03-05 10:24
回复
2#
jason680
谢谢,这个搞定
作者:
jeems
时间:
2014-03-05 10:24
回复
3#
yestreenstars
谢谢,这个也可以
作者:
jeems
时间:
2014-03-05 10:35
回复
4#
yinyuemi
SED的方法也works了,谢谢
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2