-1

像这样的文件:

文件 /home/user/

int yl_init(无效);

文件 /home/user/

int yl2_init(void);

我想使用sed -n '/File/,/;/p'文件,但它表明

文件 /home/user/

int yl_init(无效);

文件 /home/user/

int yl2_init(void);

我只想获得第一个匹配结果,例如:

文件 /home/user/

int yl_init(无效);

我只想要 sed 。

4

2 回答 2

3

这可能对你有用(GNU sed);

sed '/File/,/;/!d;/;/q' file
  • /File/,/;/!d删除所有不在 and 之间File的行;
  • /;/q遇到包含的行时退出;
于 2013-01-16T06:44:34.523 回答
2

当第二个模式匹配时,您可以使用q命令使 sed 退出:

sed -n '/File/,$p;/;/q'
于 2013-01-16T06:15:03.563 回答