grep的基本选项说明
-
grep命令 选项说明: --color=auto:对匹配到的?本着?显?; -v:显?不被模式匹配到的?; -i:
忽略字符??写; -n:显?匹配的?号; -c:统计匹配到的字符串; -o:仅显?匹配到的字符串; -q:静
默模式,不输出任何信息; -A #:表?显?匹配到的?并显?该?后#?,#表?为数字; -B #:表?显?
匹配到的?并显?该?前#?,#表?为数字; -C #:表?显?匹配到的?并显?该?前后各#?,#表?为
数字; -e:实现多个选项的逻辑or或更新; -w:匹配整个单词; -E:使?ERE扩展正则,等效于egrep命
令; -F:相当于fgrep,不使?正则表达式;例题:【例1】查找/etc?录下,所有包含conf字串的?件
[root@magedu ~]# ls -R /etc|grep conf
anthy-conf
asound.conf
autofs.conf
autofs_ldap_auth.conf
...
【例2】显?/root/passwd?件中包含root字串所在的?并显??号
[root@magedu ~]# grep root /root/passwd
1:root:x:0:0:root:/root:/bin/bash
11:operator:x:11:0:operator:/root:/sbin/nologin
【例3】显?passwd?件中,不包含bash字串的?,并显??号
[root@magedu ~]# grep -n -v bash 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
5:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6:sync:x:5:0:sync:/sbin:/bin/sync
...
【例4】显?passwd?件中,包含root字串的?的总?数
[root@magedu ~]# grep -c root passwd
2
【例5】仅显?/root/passwd?件中的root字串及所在的?号
[root@magedu ~]# grep -on root passwd
1:root
1:root
1:root
11:root
【例6】显?/root/passwd?件中,包含root字串的?和其下2?的内容
[root@magedu ~]# grep -A 2 root passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
【例7】显?/root/passwd?件中,包含root字串的?和其上2?的内容
[root@magedu ~]# grep -B 2 root passwd
root:x:0:0:root:/root:/bin/bashmail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin脚本变量之位置变量
shift用法:shift功能是可以更换参数位置
位置参数的值总结位置参数 含义
$0 当前这个Shell程序的文件名
$# 传递给程序的总的参数数目
$? 上一个代码或者Shell程序在Shell中退出的情况,如果正常退出则返回0,否则返回非0值
$* 传递给程序的所有参数组成的字符串
$n 表示第n个参数(n<10)
$@ 以“参数1”、“参数2”……保存所有的参数
$$ 本程序的(进程ID)PID
$! 上一个命令的PID
${n} 表示第n个参数(n>9)常用整数比较操作符函数 说明(例子)
-eq 等于,if [ "$a" -eq "$b" ]
-ne 不等于,if [ "$a" -ne "$b" ]
-gt 大于,if [ "$a" -gt "$b" ]
-ge 大于等于,if [ "$a" -ge "$b" ]
-lt 小于,if [ "$a" -lt "$b" ]
-le 小于等于,if [ "$a" -le "$b" ]
< 小于(在双括号内使用),(("$a"<"$b"))
<= 小于等于(在双括号内使用),(("$a"<="$b"))大于(在双括号内使用),(("$a">"$b"))
= 大于等于(在双括号内使用),(("$a">="$b"))常用字符串比较操作符函数 说明(例子)
= 等于,if [ "$a"="$b" ]
== 等于,if [ "$a"=="$b" ],在[[ ]]结构里使用匹配模式
!= 不等于,if [ "$a"!="$b" ],在[[ ]]结构里使用匹配模式
< 小于,if [[ "$a"<"$b" ]],if [ "$a"\<"$b" ](在[]结构里<需要转义)大于,if [[ "$a">"$b" ]],if [ "$a"\>"$b" ](在[]结构里>需要转义)
-z 字符串为“null”,长度为0
-n 字符串不为“null”,长度不为0常用混合比较操作符函数 说明
-a 逻辑与
-o 逻辑或分析下列的测试目录含义
[[ $a==z ]] #如果变量$a以字符"z"开始(匹配模式)则为真
[[ $a=="z" ]] #如果变量$a与字符"z"(字面上的匹配)相等则为真
[ "$a"=="z" ] #如果变量$a与字符"z*"(字面上的匹配)相等则为真
[ -f "somefile" ] #判断是否为一个文件
[ -x "/bin/ls" ] #判断/bin/ls是否有可执行的权限
[ -n "$var" ] #判断$var变量是否有值
[ "$a"="$b" ] #判断$a和$b是否相等
嵌套的if/then语句
if [ condition1 ]
then
if [ condition2 ]
then
do-something #仅当condition1和condition2同时满足才执行
fi
fi
操作符相关主题
常见的操作符主要包括赋值操作符、计算操作符、位操作符合逻辑操作符。它们与C语言的操作符是相同的。包括:
赋值操作符:=;
计算操作符:+、-、*、/、**(求幂)、%;
位操作符:<<、<<=、>>、>>=、&、&=、|、|=、~、!、^、^=;
逻辑运算符:&&、||。
原文地址:https://blog.51cto.com/12148637/2368271