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...
|