如何通过终端获取文本文件的一部分

Ema*_*nte 7 command-line

如何按行获取一些文本块?

我有一个 6000000 行的日志文件,我只想得到一个 607366 到 700000 的块。

我试过这样的事情:

head -n 607366 | tail -700000 server.log > outputFile.txt
Run Code Online (Sandbox Code Playgroud)

Rad*_*anu 9

您可以使用sed

sed -n 607366,700000p server.log > outputFile.txt
Run Code Online (Sandbox Code Playgroud)

如果你想使用headand tail,这是正确的方法:

head -n 700000 server.log | tail -n $(echo 700000-607366+1 | bc) > outputFile.txt
Run Code Online (Sandbox Code Playgroud)

或者,更短:

head -n 700000 server.log | tail -n 92635 > outputFile.txt
Run Code Online (Sandbox Code Playgroud)