相关疑难解决方法(0)

Bash工具从文件中获取第n行

这样做是否有"规范"方式?我一直在使用head -n | tail -1哪种技巧,但我一直想知道是否有一个Bash工具专门从文件中提取一行(或一系列行).

"规范"是指一个程序,其主要功能就是这样做.

unix bash shell awk sed

543
推荐指数
14
解决办法
43万
查看次数

Quick Unix命令用于从文本文件中打印非连续行?

给定一个名为"people.txt"的文本文件,其中包含:

Anne
Bob
Carl
Daphne
Erwin
Gary
Heather
Run Code Online (Sandbox Code Playgroud)

如何使用sed命令或类似的one-liner,它仅指定一组非连续的行号,以便将内容过滤到此结果:

Bob
Erwin
Heather
Run Code Online (Sandbox Code Playgroud)

(注意:忽略它们按字母顺序排列的事实)

请注意,我使用的真实文件有超过100K行,所以答案应该考虑效率.

我知道我可以用:

sed '5q;d' people.txt 
Run Code Online (Sandbox Code Playgroud)

得到第5行("Erwin"),但是这个参数有变化,我可以在其中指定任意行号列表吗?

我认为单独使用sed是可能的,但即使在通过阅读man sed之后我也无法解决这个问题.我一直在寻找其他非常接近这样做的答案,但几乎所有答案都只涉及获得一行或连续的行(一系列行),或使用更复杂的bash脚本; 例如,"快速unix命令显示文件中间的特定行?" "如何在Unix中打印文件中的特定行?" .

unix shell text sed

2
推荐指数
1
解决办法
1307
查看次数

标签 统计

sed ×2

shell ×2

unix ×2

awk ×1

bash ×1

text ×1