Regular-Expression
在 GNU Ed 中使用行號搜尋
我最近開始學習
ed
,但是我已經到了需要搜尋文本的地步。我的第一次嘗試是ed
’/
命令,它將顯示出現次數,但不包括行號。這在香草中可以實現ed
嗎?
您可以使用
g
+n
(全域 + 數字命令):$ ed -p 'ed> ' file ed> ,p tree apple lemon fruit not here pear apricot end ed> g/a/n 2 apple 7 pear 8 apricot
您可以
=
用來輸出編輯緩衝區中一行的行號。要使用某個表達式進行搜尋RE
並輸出第一次命中的行號,請使用/RE/ =
該
n
命令輸出以其行號為前綴的目前行。也可以將其應用於其他一些行或行範圍:/RE/ n
要獲取所有匹配行的行號,請結合
=
或n
與g
命令。但是請注意,由於=
命令的預設地址是編輯緩衝區的最後一行,而不是目前行,因此使用=
會輸出錯誤的結果,g
除非我們明確地給它.
地址。所以使用g/RE/ .=
僅獲取匹配的所有行的行號
RE
。利用
g/RE/ n
輸出與它們的行號匹配的所有行
RE
(類似於grep -n 'RE'
雖然格式不同)。