grep 的做用php
在文件中查找並顯示包含指定字符串的行正則表達式
grep 格式apache
grep [選項] ... 查找條件 目標文件centos
經常使用選項bash
示例ssh
// *********************************** 示例 一 ************************************ // 過濾出用戶 tian 的行 grep 'tian' passwd tian:x:502:502::/home/tian:/bin/bash // *********************************** 示例 二 ************************************ // 過濾掉以 "#" 開頭的行及空行 grep -v "^#" /etc/yum.conf |grep -v "^$" //grep -Ev "^#|^$" /etc/yum.conf 及 egrep -v "^#|^$" /etc/yum.conf 相同效果; [main] cachedir=/var/cache/yum/$basearch/$releasever keepcache=0 debuglevel=2 logfile=/var/log/yum.log exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 installonly_limit=5 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum distroverpkg=centos-release // *********************************** 示例 三 ************************************* // -c 匹配到的次數 grep -c '^root' passwd 1 // *********************************** 示例 四 ************************************* // -i 忽略大小寫; grep -i 'root' /etc/ssh/sshd_config #PermitRootLogin yes # the setting of "PermitRootLogin without-password". #ChrootDirectory none // *********************************** 示例 五 ************************************* // -n 輸出匹配到內容的行號 grep -n '^root' passwd 1:root:x:0:0:root:/root:/bin/bash // *********************************** 示例 六 ************************************* // 使用正則 // [] 匹配括號中任意字符 grep -n "^[abcd]" passwd 2:bin:x:1:1:bin:/bin:/sbin/nologin 3:daemon:x:2:2:daemon:/sbin:/sbin/nologin 4:adm:x:3:4:adm:/var/adm:/sbin/nologin 16:dbus:x:81:81:System message bus:/:/sbin/nologin 18:abrt:x:173:173::/etc/abrt:/sbin/nologin 26:apache:x:48:48:Apache:/var/www:/sbin/nologin // [] 中使用範圍 grep -n "^[a-d]" passwd 2:bin:x:1:1:bin:/bin:/sbin/nologin 3:daemon:x:2:2:daemon:/sbin:/sbin/nologin 4:adm:x:3:4:adm:/var/adm:/sbin/nologin 16:dbus:x:81:81:System message bus:/:/sbin/nologin 18:abrt:x:173:173::/etc/abrt:/sbin/nologin 26:apache:x:48:48:Apache:/var/www:/sbin/nologin // ********************************** 示例 七 ************************************** // ?; 單獨的?是不支持基本表達式; grep -n '[od][ors][lnm]\?' test 1:good good study 3:good 5:goood 6:goolld grep -En '[od][ors][lnm]?' test 1:good good study 3:good 5:goood 6:goolld // * 匹配0次或屢次, grep -n "go*" test 1:good good study 3:good 4:gold 5:goood 6:goolld // + 匹配一次或者屢次 grep -En "goo+" test 1:good good study 4:good 6:goood 7:goolld // 匹配以前項至少m次 grep -En "go{2,}" test 1:good good study 4:good 6:goood 7:goolld // 匹配其中一個 grep -En "go(g|o)" test 1:good good study 3:gogogo 4:good 6:goood 7:goolld