给定一个名为“people.txt”的文本文件,其中包含:
Anne
Bob
Carl
Daphne
Erwin
Gary
Heather
我该如何使用sed命令或类似的单行命令,仅指定一组不连续的行号,以过滤内容并得到以下结果:
Bob
Erwin
Heather
(注意:忽略它们按字母顺序排列的事实)
请注意,我使用的真实文件有超过10万行,因此答案应考虑效率。
我知道我可以使用:
sed '5q;d' people.txt
我希望只获取第5行(“Erwin”),但是否有一种变体的参数可以指定任意行号列表?
我认为这可以仅使用sed实现,但即使阅读了man sed,我也很难弄清楚。我一直在查看其他几个答案,它们非常接近于执行此操作,但几乎所有答案都处理获取单个行或连续行(一系列行),或者使用更复杂的bash脚本;例如,{{link1:“快速unix命令以显示文件中特定行?”}}和{{link2:“如何从Unix文件中打印特定行?”}}。