我试着去理解下面的Perl命令“删除所有连续的空行,只留下一个”:删除所有连续的空行,只留下一个过程:perl -00 -pe'
perl -00 -pe ''
首先它没有任何代码,-e是空的。接下来它有一个愚蠢的-00命令行选项 。此命令行选项打开 段落slurp模式。段落是两条换行符之间的文本。所有 其他换行符都会被忽略。该段落放入“$ _”中, “-p”选项将其打印出来。
我不遵循这个解释。也许措辞不准确。
所以"A paragraph is text between two newlines."
但是每一行都是两条换行符之间的文本。
"All the other newlines get ignored."
但是在两个连续换行符之间没有换行符。
"The paragraph gets put in "$_" and the "-p" option prints it out."
由于它对每两条换行符之间的文本做了修改,所以会将整个文件压缩成一个长行。它看起来像他们说这个命令应该做什么?
它还说,另一种方式来写它是
perl -00pe0
什么是最右边的0
代表什么?
不管怎么说,其实我是想实现的是删除所有连续的白线,只留下一个空行。白线我的意思是一行可能不是空的,但只有空白字符(和换行符)。 是否可以修改上述命令来匹配这种情况?
任何声称*“接下来它有一个愚蠢的-00命令行选项”*的源都不会被信任。 – Borodin
第二个'0'是'-e'的参数,即要运行的程序。 – ikegami