SED中的表达式'^ $'是如何到达的?

时间:2013-09-24 07:24:50

标签: regex sed

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

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

2 个答案:

答案 0 :(得分:7)

^不是第一个字符,它是“在第一个字符之前”。 $也不是最后一个字符,它是“行尾”。 ^$表示这两者之间没有任何内容,所以它只是一个空白行。

答案 1 :(得分:4)

问题实际上是针对'sed'不具体的正则表达式。 sed实用程序正在使用流/行编辑器的正则表达式。

^(circumflex或插入符号)表示仅查看目标字符串的开头。 $(美元)表示仅查看目标字符串的末尾。 所以,/ ^ $ /表示行的开头和结尾之间没有任何内容的行。