我知道我们可以使用>将IO重定向到文件。而我想把固定行写到文件中。
例如,
more something将输出3210行,然后我想要
file1中的第1~1000行
file2中的1001~2000行
行2001~3000中的file3
行3001~3210 in file4.
我如何用SHELL脚本来完成它呢?
谢谢。
发布于 2016-12-20 20:39:02
split命令是您所需要的。
split -l 1000 your_file.txt "prefix"其中:
-l -分裂成行。
1000 -要拆分的行数。
your_file.txt -你想分割的文件。
prefix -输出文件名称的前缀。
一个3210行的文件示例:
# Generate the file
$ seq 3210 > your_file.txt
# Split the file
$ split -l 1000 your_file.txt "prefix"
# Check the output files' names
$ ls prefix*
prefixaa prefixab prefixac prefixad
# Check all files' ending
$ tail prefixa*
==> prefixaa <==
991
992
993
994
995
996
997
998
999
1000
==> prefixab <==
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
==> prefixac <==
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
==> prefixad <==
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210https://stackoverflow.com/questions/41232852
复制相似问题