$ 記号で始まるすべての単語のリスト

$ 記号で始まるすべての単語のリスト

$記号で始まる単語であるPHPファイルのすべての変数をリストしたいと思います。

grep -o '\bm\w*' /var/www/html/my_site/index.php

このコマンドは、「m」で始まるすべての単語をリストするために使用されます。

しかし、これはgrep -o '\b$\w*' /var/www/html/my_site/index.phpPHPファイルのすべての単語をリストするわけではありません。 「$」記号をエスケープして 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

関連情報