是否可以使用linux命令列出文件末尾的php标记后面带有空格的所有文件?
答案 0 :(得分: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
答案 1 :(得分:1)
使用pcregrep进行回答,即使您的空格跨越到新行,也会匹配:
pcregrep -rM '\?>[\s]+[^\S]*$' *.php
未经测试,因为我没有在此计算机上安装pcregrep。如果您知道它不正确,请纠正我。
这应该匹配以?>
结尾的所有文件,后跟只有空格。如果它跟随任何其他字符,那么它将不匹配(例如,如果它不是一个全PHP文件并且需要?>
)
答案 2 :(得分:0)
最初发表评论:
更好的计划:删除所有结束标记。