$記号で始まる単語であるPHPファイルのすべての変数をリストしたいと思います。
grep -o '\bm\w*' /var/www/html/my_site/index.php
このコマンドは、「m」で始まるすべての単語をリストするために使用されます。
しかし、これはgrep -o '\b$\w*' /var/www/html/my_site/index.php
PHPファイルのすべての単語をリストするわけではありません。 「$」記号をエスケープして grep -o '\b\$\w*' /var/www/html/my_site/index.php
も機能しません。
答え1
問題は、\b
単語文字と単語以外の文字の間の幅がゼロの境界です。$
単語文字ではありません
必要かもしれない:
grep -Po '(?<=^|\W)\$\w+' /var/www/html/my_site/index.php
$variable
行の先頭または単語ではなく、文字の後ろで検索する必要があります。
echo '$foo $bar $baz' | grep -Po '(?<=^|\W)\$\w+'
$foo
$bar
$baz