4

是否可以使用 linux 命令在文件末尾的 php 标记后列出所有带有空格的文件?

4

3 回答 3

2

使用pcregrep进行回答,即使您的空格跨越新行,它也会匹配:

pcregrep -rM '\?>[\s]+[^\S]*$' *.php

但未经测试,因为我没有在这台计算机上安装 pcregrep。如果您知道它不正确,请纠正我。

?>这应该匹配所有以空格结尾的文件。如果它后面跟着任何其他字符,那么它将不匹配(例如,如果它不是一个全 PHP 文件并且需要?>

于 2012-11-30T12:05:57.427 回答
1

删除文件末尾的所有尾随空行。

sed -i -e :a -e '/^\n*$/{$d;N;};/\n$/ba' file

使用以下命令检查结束标记后带有空格的文件grep -El '.*\?>\s+' *.php

$ cat -E nospace.php
<?php$
?>$
$

$ cat -E withspace.php
<?php$
?>     $
$

$ grep -El '.*\?>\s+' *.php
withspace.php
于 2012-11-30T11:50:57.187 回答
0

最初作为评论发布:

更好的计划:删除所有结束标签。

于 2012-11-30T11:50:58.787 回答