$ 기호로 시작하는 모든 단어 나열

$ 기호로 시작하는 모든 단어 나열

$ 기호로 시작하는 단어인 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단어 문자와 단어가 아닌 문자 사이의 너비가 0인 경계입니다. $단어 문자가 아님

너는 필요할지도 모른다:

grep -Po '(?<=^|\W)\$\w+' /var/www/html/my_site/index.php

$variable줄의 시작 부분이나 단어가 아닌 문자 뒤에서 찾아야 합니다.

echo '$foo $bar $baz' | grep -Po '(?<=^|\W)\$\w+'
$foo
$bar
$baz

관련 정보