如何在一个行号文件拆分
我想从一个特定的行号拆分一个400k行的日志文件。
对于这个问题,让这个任意数字300k。
有没有一个Linux命令,让我这样做( 脚本内 )?
我知道split
可以让我按照大小或行数来分割文件,但这不是我想要的。 我想要一个文件中的第一个300k和第二个文件中的最后一个100k。
任何帮助,将不胜感激。 谢谢!
再次想到这将更适合超级用户或serverfault站点。
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
此外,第二个想法,分裂将在你的情况下工作,因为第一个分裂大于第二个。 分割将input的平衡放入最后的分割,所以
split -l 300000 file_name
将输出xaa
线xab
和100k线xab
,input400k线。