在 Linux 中从文件打印特定的行块
如果您有一个大文件要导入,或者有一个日志文件要解析,那么您很少想将它直接打印到屏幕上。使用像more这样的命令或像vim这样的程序可以使事情变得更容易一些,但您仍然需要遍历可能数以千计的行来找到正确的块。
要从文件中加载一些特定的行,您可以使用head和tail命令的组合。以下命令将从名为“bigfile.txt”的大文件中打印出第200到220行。的头部的命令将打印出从一个文件,然后将其用管道输送到第一线220尾部,通过前面的命令生成打印出仅最后20条的输出的线命令。
head-n220bigfile|tail-n21
或者,您可以使用sed从大文件中打印出相同的块。
sed-n200,220pbigfile
使用sed可能是更好的方法,因为它使用单个命令来生成输出。将head的输出通过管道传输到tail的问题在于head命令会将它找到的所有行传递给tail命令,这可能会占用大量内存(当然取决于文件大小)。