正则表达式'/ ^ $/d'是什么意思?

The*_*ght 5 regex unix

我试图使用bash脚本删除文件中的空行.现在,当我在互联网上搜索时,我发现了它的两个变种.在一个中,我们可以直接修改源文件,在另一个中我们可以将输出存储在另一个文件中.以下是代码段:

sed -i '/^$/d' fileName.txt

sed '/^$/d' fileName.txt > newFileName.txt
Run Code Online (Sandbox Code Playgroud)

我无法理解的是如何将正则表达式'/ ^ $/d'解释为空行.我担心我在正则表达中不擅长.有人可以解释一下这个吗?

还有其他方法吗?

Mar*_*c B 7

/^$/d


/ - start of regex
^ - start of line
$ - end of line
/ - end of regex
d - delete lines which match
Run Code Online (Sandbox Code Playgroud)

所以基本上找到任何空的行(起点和终点是相同的,例如没有字符),并删除它们.