SHLLE 实现一个功能?---请各位大虾,帮忙解决一下

shell 脚本。
在UNIX中,扫描一个大数据量的文件,当文件的数量到达1000条时,将重新产生一个新的文件,
要求产生的文件必须顺序产生?但每个文件的数据量最大为1000条记录。
产生的文件例如:10001.txt,10002.txt,10003.txt
[b]问题补充:[/b]

产生的文件格式例如 FILE当前时间_101_10001.txt,FILE当前时间_101_10002.txt,FILE当前时间_101_10003.txt

cat myfile | awk 'BEGIN{INDEX=10000;TIME=strftime("%Y%m%e%H%M%S",systime());} {if(NR%1000==0)INDEX=INDEX+1;print $0>"FILE"TIME"_101_"INDEX".txt";}'

多man下awk吧.

至于时间格式,%Y%m%e%H%M%S 搜索下

strftime函数使用C库中的strftime函数格式化时间。

用csplit或solit

split -l10000 sortbase.sh split_

然后再批量改名吧

或者
cat myfile | awk 'BEGIN{INDEX=10000} {if(NR%10==0)INDEX=INDEX+1;print $0>INDEX".txt";}'

cat myfile | awk 'BEGIN{INDEX=10000} {if(NR%1000==0)INDEX=INDEX+1;print $0>INDEX".txt";}'