2013-01-16 76 views
-1

像文件:桑達打印所述第一匹配結果

文件/ home /用戶/

INT yl_init(無效);

文件/ home /用戶/

INT yl2_init(無效);

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

文件/ home /用戶/

INT yl_init(無效);

文件/ home /用戶/

INT yl2_init(無效);

我只是想獲得第一場比賽的結果,如:

文件/ home /用戶/

INT yl_init(無效);

我只想要sed。

回答

3

這可能會爲你(GNU SED)的工作;

sed '/File/,/;/!d;/;/q' file 
  • /File/,/;/!d刪除所有行不File;
  • /;/q之間不幹就遇到含;
+0

你能解釋一下這個命令嗎?/ q' – choujayyl

+0

@choujayyl看到編輯 – potong

+0

爲什麼刪除不在文件和';'之間的所有行,我可以sed這些字符串,然後在遇到一個行時退出含有;直? – choujayyl

2

您可以使用的命令q導致SED退出當第二匹配模式:

sed -n '/File/,$p;/;/q' 
+0

你能解釋一下命令 – choujayyl

+0

打印/文件之間'每行一個行/'和該文件的結尾,但在用分號打印一行後退出。 –