PHPファイルの空白は問題になることがあるので、一般的な問題の基準を満たすファイルを見つけようとしています。これらの条件の一方または両方を持つすべてのファイルを再帰的に検索しようとしています。
<
1)または#
文字で始まらない。
および/または
2)>
改行がいくらでも続く閉じ中括弧で終わらない限り、文字で終わらない。
最初の条件は次のようになると思います。$[^<#]
2番目の条件は次のようになると思います。[ [^>^] | [}\n*^]]
ただし、私の素朴な正規表現では、ファイルの行ではなく、ファイルの開始と終了を表して$
いることに注意してください。^
そして、それらが正しいと仮定して、それらをどのように組み合わせるのでしょうか?そのようです?
[$[^<#]] | [[ [^>^] | [}\n*^]]]
次に、それらをgrepに入れます。
grep -r [$[^<#]] | [[ [^>^] | [}\n*^]]] *
明らかに、これは機能していません(tm)。誰かが間違いを訂正する方法を教えてもらえますか?ありがとう。
これは良いファイルです:
<?php
?>
これはそうです:
<?php
function someFunc(){
}
そしてこれも良いです:
#!/usr/bin/php -q
<?php
?>
主要なHTMLは問題ありません:
<html>
<?php
echo '</html>';
?>
末尾のHTMLも問題ありません。
<?php
echo '<html>';
?>
</html>
これは悪いです(先頭の改行):
<?php
?>
これも悪いです(先頭のスペース):
<?php
?>
これも悪いです(末尾の改行):
<?php
?>