我知道$
表示最后一个字符,而^
表示第一个字符。
我在SED中看到了使用此宏删除所有空行的示例。
sed '/^$/d' <file_name>
删除所有空白行。我试图理解这个表达式^$
,一个人如何到达这个表达式?这是否意味着删除所有第一个和最后一个字符相同的行?这个组合是什么意思^$
?
答案 0 :(得分:7)
^
不是第一个字符,它是“在第一个字符之前”。 $
也不是最后一个字符,它是“行尾”。 ^$
表示这两者之间没有任何内容,所以它只是一个空白行。
答案 1 :(得分:4)
问题实际上是针对'sed'不具体的正则表达式。 sed实用程序正在使用流/行编辑器的正则表达式。
^(circumflex或插入符号)表示仅查看目标字符串的开头。 $(美元)表示仅查看目标字符串的末尾。 所以,/ ^ $ /表示行的开头和结尾之间没有任何内容的行。