Chinaunix
标题:
sed分割文件
[打印本页]
作者:
zhengwei_zw
时间:
2012-04-11 18:38
标题:
sed分割文件
1232342
4242344
2342344
4234243
……
1万行
切割成5列,平均每列
谁有代码丢个
作者:
英语盲学linux
时间:
2012-04-11 18:54
本帖最后由 英语盲学linux 于 2012-04-11 18:54 编辑
xargs -n5
sed ':a;N;$!ba;s/\n/ /g;s/ /\n/5'
作者:
zhengwei_zw
时间:
2012-04-11 18:59
合并多列 以空格分开呢?
楼上这个用不起呢
作者:
zhengwei_zw
时间:
2012-04-11 19:00
我现在切割成50行的小文件了。
作者:
hbmhalley
时间:
2012-04-11 19:11
sed ':1;N;s/\n/&/4;$!T1;s/\n/ /g'
复制代码
作者:
zhengwei_zw
时间:
2012-04-11 19:15
这个还是1列啊
作者:
hbmhalley
时间:
2012-04-11 19:24
本帖最后由 hbmhalley 于 2012-04-11 19:54 编辑
回复
6#
zhengwei_zw
User@Explorer-PC
~/work/2012
$ seq 19 | sed ':1;N;s/\n/&/4;$!T1;s/\n/ /g'
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19
你想要啥样的?
作者:
zhengwei_zw
时间:
2012-04-11 20:02
seq是神码阿?
我再实下
作者:
jiejie455
时间:
2012-04-11 20:16
本帖最后由 jiejie455 于 2012-04-11 20:32 编辑
猜一个:
seq 2525 | awk '{a[NR]=$1}END{gap=int(NR/5);for(i=1;i<=gap;i++){for(j=0;j<5;j++){printf a[(i+j*gap)]"\t"};print ""};if(5*gap<NR){for(k=5*gap+1;k<=NR;k++){printf a[k]"\t"}}}'
复制代码
作者:
winway1988
时间:
2012-04-11 23:06
sed -r ':a;${s/\n/ /g;q};N;/(\n[^\n]*){4}/!ba;s/\n/ /g' urfile
复制代码
sed ':1;N;s/\n/&/4;$!T1;s/\n/ /g'
又学了个T
awk 'cnt==5{print line;line="";cnt=0}{line=line?line OFS $0:$0;cnt++}END{print line}' urfile
复制代码
作者:
yinyuemi
时间:
2012-04-11 23:15
seq 20 |paste - - - - -
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
复制代码
作者:
zhengwei_zw
时间:
2012-04-12 09:35
我这个文件不行,不晓得怎么的。
内容是13位的电话号码
18980744262
18981766352
18908194422
18908085557
18080926809
18980086262
13348818091
15351218607
18980077727
13388180283
18980658074
13308005055
13308005052
13350070393
18980022473
18980897961
……
复制代码
作者:
blackold
时间:
2012-04-12 09:58
split
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2