This question already has answers here:
How can I extract a predetermined range of lines from a text file on Unix?

(25个答案)


5年前关闭。




这似乎很愚蠢,但是我还没有找到一个可以做到这一点的工具,所以我想在尝试自己编写代码之前,请先确保不存在该工具:

有什么简单的方法可以对文件的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

关于macos - 在终端中打印文件的特定行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31712946/

10-10 00:37