提取两个行号之间的文本

时间:2018-10-05 12:15:20

标签: linux bash sed

我正在尝试使用提取两个特定行号之间的文本

sed 'startLine,endLined' myFile.txt

但是以某种方式,它一直从文件的开头提取到endLine。

这是怎么了?

3 个答案:

答案 0 :(得分:1)

您需要告诉sed不要打印所有其他行,而是要打印其他行。

 sed -n '123,234p' myFile.txt

-n告诉sed不要打印扫描的行。
123,234定义您感兴趣的行的范围
p是打印行的命令。

这样,它将仅打印与您告诉的内容匹配的行。

答案 1 :(得分:1)

尝试sed -n 'startLine,endLined' myFile.txt

答案 2 :(得分:0)

另一个使用awk的人:

$ seq 10 -1 1 | awk 'NR==3,NR==6'
8
7
6
5

seq 10 -1 1输出从10到1的数字。awk 'NR==3,NR==6'在第3-6行之间打印记录。