grep 的全写是 “global regular expression print”,是 Linux 系统内置的字串搜索工具, 它可以用作搜索档案的内容, 除了搜索档案内容外, 也可以透过管线 (pipe) 输入内容搜索。以下会介绍一些 grep 常见的用法:
1. 搜索档案内容: 以下会在 /etc/passwd 搜索 phpini 字串:
# grep phpini /etc/passwd
然后 grep 就会将 /etc/passwd 内有 phpini 字串的行印出。如果要搜索多个档案, 只要在指令后面逐一加上档案就会自动搜索, 例如:
# grep phpini /etc/passwd /etc/groups
如果想列出找到资料的行数, 可以加入 -n 参数:
# grep -n phpini /etc/passwd
2. 搜索目录内容: 例如目录内有多个档案及目录, 可以这样:
# ls -l /var/www/html | grep .html
3. 排除字串: 用 -v 参数, 会印出不包含特定字串的资料, 以下会印出不包括 phpini 的资料:
# ls -v /var/www/html | grep .html
4. 搜索空白行:
# grep ^$ /etc/passwd
5. 忽略英文大小写搜索资料
# grep -i PHPINI /etc/passwd
6. 印出总共找到的资料数量, 等同 grep phpini /etc/passwd | wc -l
# grep -C phpini /etc/passwd