我想从特定的行号中拆分一个400k行长的日志文件。
对于这个问题,让我们将其设为任意数字300k。
是否有Linux命令允许我执行此操作( 在脚本内 )?
我知道split可以按大小或行号将文件分成相等的部分,但这不是我想要的。我想要一个文件中的前300k,第二个文件中的最后100k。
split
任何帮助,将不胜感激。谢谢!
再三考虑,这将更适合于超级用户或服务器故障站点。
file_name=test.log
# set first K lines: K=1000 # line count (N): N=$(wc -l < $file_name) # length of the bottom file: L=$(( $N - $K )) # create the top of file: head -n $K $file_name > top_$file_name # create bottom of file: tail -n $L $file_name > bottom_$file_name
同样,再三考虑,拆分将适用于您的情况,因为第一个拆分大于第二个拆分。拆分将输入的余额放入最后的拆分,因此
split -l 300000 file_name
xaa对于30 xab万行输入,将输出30万行和10万行。
xaa
xab