在终端中打印文件的特定行

Print specific lines of a file in Terminal

这看起来很傻,但我还没有找到执行此操作的工具,所以我想在尝试自己编写代码之前,我会问只是要确保它不存在:

是否有任何简单的方法来 catless 文件的特定行?

我希望这样的行为:

# -s == start && -f == finish
# we want to print lines 5 - 10 of file.txt
cat -s 5 -f 10 file.txt

即使是更简单的东西也会受到赞赏,但我只是不知道有任何工具可以做到这一点:

# print from line 10 to the end of the file
cat -s 10 file.txt

我认为这两个功能可以通过 headtailwc -l 的组合轻松创建,但也许有内置函数可以做到这一点哪个我不知道?

是的,awk 和 sed 可以提供帮助

第 5 到 10 行

awk 'NR>4&&NR<11' file.txt
sed -n '5,10p' file.txt

从第 10 行到最后一行

awk 'NR>9' file.txt
sed -n '10,$p' file.txt