如何使用unix上的行号从文件中提取行?

mon*_*ing 13 unix awk text-extraction sed line-numbers

使用sed或类似的如何从文件中提取行?如果我想从文件中获取第1,5,1010,20503行,我将如何获得这4行?

如果我需要提取相当多的行,该怎么办?如果我有一个包含100行的文件,每行代表一个我想从另一个文件中提取的行号,我该怎么做?

Ste*_*son 15

像"sed -n'1p; 5p; 1010p; 20503p'之类的东西.执行命令"man sed"了解详细信息.

对于你的第二个问题,我将输入文件转换为一堆sed(1)命令来打印我想要的行.


enn*_*ler 5

与awk一样简单:

awk 'NR==1 || NR==5 || NR==1010' "file"
Run Code Online (Sandbox Code Playgroud)

  • ennuikiller,是的,我主要是在这个上下文中使用awk评论+1,ghostdog74,perl,python,pure bash等也是如此.这是关于*right*工具的意见问题. (2认同)