2

我知道这$意味着最后一个字符,而^意味着第一个字符。我在 SED 中看到了使用此宏删除所有空行的示例。

sed '/^$/d' <file_name>删除所有空行。我试图理解这个表达^$,有人怎么到了这个表达?这是否意味着删除所有第一个和最后一个字符相同的行?这种组合是什么意思^$

4

2 回答 2

7

^不是第一个字符,它是“在第一个字符之前”。$也不是最后一个字符,它是“行尾”。^$意味着这两者之间没有任何东西,所以它只是一个空白行。

于 2013-09-24T07:27:37.987 回答
4

问题实际上是针对不特定于“sed”的正则表达式。sed 实用程序将正则表达式用于流/行编辑器。

^(抑扬符或插入符号)表示仅查看目标字符串的开头。$(美元)表示仅查看目标字符串的末尾。因此,/^$/ 表示在行首和行尾之间没有任何内容的行。

于 2013-09-24T07:48:16.627 回答