列出所有以$符号开头的单词

列出所有以$符号开头的单词

我想列出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

相关内容