标签:level 表达 bash image ase code ack inf keep
grep的参数与作用
内容补充:
^:瞄定行的开始,如‘^#‘ 匹配所有以#开头的行。
$:瞄定行的结束,如‘grep$‘ 匹配所有以grep结尾的行。
. :匹配一个非换行符的字符,如‘gr.p‘后接一个任意字符,然后是p。
* :匹配零个或多个先前字符 如‘*grep‘匹配所有一个或多个空格后紧跟grep的行 ;.* 一起用代表任意字符。
[ ]:匹配一个指定范围内的字符,如‘[Gg]rep‘匹配Grep和grep。[^]:匹配一个不在指定范围内的字符,如‘[^A-FH-Z]rep‘匹配不包含A-F H-Z一个字母的开头,紧跟rep的行。^[A-Za-z_] : 以字母开始,无论大小都可以;[^A-Za-z_ ] :非字母就可以;[A-Za-z0-9_] :可以是字母数、字下、划线 。
\< : 瞄定单词的开始,如‘\<grep‘匹配包含以 grep 开头单词的行。
\> : 瞄定单词的结束,如‘grep\>‘匹配包含以 grep 结尾单词的行。
x\{m\} :重复字符 x,m次,如‘0\{5\}‘匹配包含5个0的行。
x\{m,\} : 重复字符 x,至少m次,如‘0\{5\}‘匹配至少有5个0的行。
x\{m,n} :重复字符x,至少m次,不多于n次,如‘0\{5,8}‘ 匹配5-8个0的行。
\w:匹配文字和数字字符,也就是[A-Za-z0-9],如‘G\w*p‘匹配以G后跟零个或多个文字或数字字符,然后是p。
\W: \w 的反置形式,匹配一个或多个非单词字符。
\b : 单词锁定符,如‘\bgrep\b‘只匹配grep。
1.实例:过滤路径 /etc/passwd的 /sbin/nologin(不可登录用户)
命令:
grep "/sbin/nologin" /etc/passwd
输出
[root@localhost /]# grep "/sbin/nologin" /etc/passwd bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:998:User for polkitd:/:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin
2.实例:将不可登录用户反向输出至nologin.log 使用参数 -v
命令:
grep -v "/sbin/nologin" /etc/passwd > nologin.log
输出:
[root@localhost /]# grep -v "/sbin/nologin" /etc/passwd > nologin.log [root@localhost /]# cat nologin.log root:x:0:0:root:/root:/bin/bash sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt litao:x:1000:1000::/home/litao:/bin/bash user1:x:1001:1001::/home/user1:/bin/bash
3.实例:过滤掉所有空行和以#开头的行,在etc/yum.conf 文件当中
命令:
grep -v "^#" /etc/yum.conf | grep -v "^$"
输出:
[root@localhost /]# grep -v "^#" /etc/yum.conf | grep -v "^$" [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=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum distroverpkg=centos-release
说明:在正则表达式中,^表示行的开始,$表示行的结尾,空行可以用^$表示。
WC命令参数
重定向作用
和管道符号" | "相关的命令
分隔符号cut举例子:
sort 命令使用举例子
uniq命令使用举例子,配合sort使用。先排序后去重复。直接使用uniq不会去重复
特殊符号 "| |" "&&"的运用,两者符号可用于判断。可看截图实例
1.当条件A和B都存在,运行A || B,会发现A执行成功后,B不再继续。
2.当条件A不存在,条件B存在。运行A || B, A执行出错,在 "| |"符号作用下继续执行条件B
3.当条件A和B都存在,运行A && B,会发现A执行成功后,条件B一样回显信息在屏幕上。
4.当条件A不存在,条件B存在。在执行A条件错误,B 不再继续执行。
` `符号举例子(反引号)
将引号中的字符当成shell命令执行 将变量date +%Y-%m-%d-%H-%M 引用到date
正则 grep 管道符号 “|” 特殊符号“||”“&&” wc 命令 分隔符号cut 排序sort 去重复uniq 符号 ` `的使用
标签:level 表达 bash image ase code ack inf keep
原文地址:https://www.cnblogs.com/lovelitao/p/12132246.html