由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Linux版 - 求助文件切割问题
相关主题
tar questionperl能不能一次把一个str中的a替换成x,b替换成y?
一个头痛的regular expression问题any bash command option similar as perl -c to check the syn
请问怎么把两个行数相等的文件合并起来?Parrot VM 跑 perl python PHP Ruby 啥意思?
awk这个perl的简单小程序为什么不work?
how to print in matrix using AWK?网页如何马上更新呢
United airline的7474用的是redhat问问应该学用那个shell?
问题:关于python和web请教个perl/DBI/ssh tunnel的问题
a sed questionGrep 能作这个吗?
相关话题的讨论汇总
话题: 3928话题: txt话题: 5877话题: nr话题: 10
进入Linux版参与讨论
1 (共1页)
gm
发帖数: 189
1
一个数据文件,要把从第10-1959行,隔10行之后的第1969-3918行,再隔10行的第3928
-5877行 以此类推 分别单独输出成独立文件。请问用什么命令怎么办?
E*V
发帖数: 17544
2
google sed

3928

【在 gm 的大作中提到】
: 一个数据文件,要把从第10-1959行,隔10行之后的第1969-3918行,再隔10行的第3928
: -5877行 以此类推 分别单独输出成独立文件。请问用什么命令怎么办?

N****w
发帖数: 21578
3
man tail
man head

3928

【在 gm 的大作中提到】
: 一个数据文件,要把从第10-1959行,隔10行之后的第1969-3918行,再隔10行的第3928
: -5877行 以此类推 分别单独输出成独立文件。请问用什么命令怎么办?

M**********n
发帖数: 432
4
vi file
10,1959 w t1
1969,3918 w t2
3928,5877 w t3
3928
i*****f
发帖数: 578
5
诸位真是 八仙过海,各显神通阿!
呵呵!

【在 M**********n 的大作中提到】
: vi file
: 10,1959 w t1
: 1969,3918 w t2
: 3928,5877 w t3
: 3928

v*****r
发帖数: 1119
6
凑个热闹,如果楼主需要切割任意长的文件,scripting is necessary, perl or
python can do the job nicely but a little bit overkill. AWK 是做这种工作的最
好选择之一,只需要一行 code:
awk 'BEGIN {f=10;l=f+1949;}{if(NR<=l && NR>=f) print >(f"_"l".txt"); else
if(NR>l) f=l+10;l=f+1949;}' < inputfile.txt
说明:
1. 要被切割的是 inputfile.txt
2. 新产生的 outputfiles will take the format of .txt,
for example, 10_1959.txt,1969_3918.txt,3928_5877.txt and so on...
m*********g
发帖数: 273
7
pay me, I do it for you.
b****j
发帖数: 78
8
perl也可以一行完成,sed好像不行:
perl -ne '$l = ($. - 1) % 1959; ($l or open(F, ">output." . $f++)) and $l >=
9 and print F' input_file

【在 v*****r 的大作中提到】
: 凑个热闹,如果楼主需要切割任意长的文件,scripting is necessary, perl or
: python can do the job nicely but a little bit overkill. AWK 是做这种工作的最
: 好选择之一,只需要一行 code:
: awk 'BEGIN {f=10;l=f+1949;}{if(NR<=l && NR>=f) print >(f"_"l".txt"); else
: if(NR>l) f=l+10;l=f+1949;}' < inputfile.txt
: 说明:
: 1. 要被切割的是 inputfile.txt
: 2. 新产生的 outputfiles will take the format of .txt,
: for example, 10_1959.txt,1969_3918.txt,3928_5877.txt and so on...

1 (共1页)
进入Linux版参与讨论
相关主题
Grep 能作这个吗?how to print in matrix using AWK?
[请教]文件输入 (转载)United airline的7474用的是redhat
how to check space character in perl ?问题:关于python和web
求助,安装PERL 5.8.8 (www.cpan.org)到红帽AS4a sed question
tar questionperl能不能一次把一个str中的a替换成x,b替换成y?
一个头痛的regular expression问题any bash command option similar as perl -c to check the syn
请问怎么把两个行数相等的文件合并起来?Parrot VM 跑 perl python PHP Ruby 啥意思?
awk这个perl的简单小程序为什么不work?
相关话题的讨论汇总
话题: 3928话题: txt话题: 5877话题: nr话题: 10