如何将固定行重定向到带有shell的新文件

时间:2016-12-19 23:53:41

标签: bash shell io-redirection

我知道我们可以使用$ heroku run:detached -- python script.py -n yyy -a zzzz 将IO重定向到文件。虽然我想将固定行写入文件。

例如,

>将输出3210行,然后我想要

more something

中的第1~1000行

file1

中的第1001~2000行

file2

中的2001~3000

file3中的3001~3210行。

如何使用file4脚本执行此操作?

THX。

1 个答案:

答案 0 :(得分:1)

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
3210