$ 기호로 시작하는 단어인 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
단어 문자와 단어가 아닌 문자 사이의 너비가 0인 경계입니다. $
단어 문자가 아님
너는 필요할지도 모른다:
grep -Po '(?<=^|\W)\$\w+' /var/www/html/my_site/index.php
$variable
줄의 시작 부분이나 단어가 아닌 문자 뒤에서 찾아야 합니다.
echo '$foo $bar $baz' | grep -Po '(?<=^|\W)\$\w+'
$foo
$bar
$baz