Linux学习笔记13 grep,egrep,bash变量

    xiaoxiao2021-03-25  149

    1.grep

    grep [OPTIONS] PATTERN filename 根据模式搜索文本 并将符合模式的文本显示出来 Pattern模式:文本字符和正则表达式的元字符组合而成匹配条件

    选项

    -i: 忽略大小写--color: 匹配到的字符串加颜色-v --invert-match:没有被模式匹配到的行-o: 只显示被模式匹配到的字符串-E: extended regular expression 扩展正则表达式 = 命令egrep-A --after-context=: 匹配项后几行-B --before-context=: 匹配项前几行-C --context: 匹配项前后几行

    2. 正则表达式

    元字符:

    .: 任意单个字符[]: 匹配任意范围内的单个字符[^]: 匹配任意范围外的单个字符 [:digit:],[:lower:],[:upper:],[:punct:],[:space:],[:alpha:],[:alnum:]

    匹配字符个数:

    *: 匹配其前面字符任意次数.*: 任意长度任意字符\?: 匹配其前面的字符1次或0次\{m,n\}: 匹配其前面的字符>=m次 <=n次

    位置锚定:

    ^: 行首 次字符后面的任意内容必须出现在行首$: 行尾 次字符后面的任意内容必须出现在行尾\<: 单词出现在词首\>: 单词出现在词尾

    分组: \(\) \1,\2,\3: 引用前面的分组

    3. 扩展正则表达式

    次数匹配: +: 匹配其前面的字符至少1次 或者 a|b: a或者b c|Cat 意思是c或者Cat字符 (c|C)at

    IPv4: 5类 A B C D E A: 1-127 B: 128-191 C: 192-223

    4.bash

    bash变量类型:

    环境变量 export VARNAME=VALUE 脚本在执行时会启动一个shell进程 对当前shell及其子shell有效本地变量 set VARNAME=VALUE: 作用域为当前代码段 set可以省略 unset VARNAME: 释放变量 使用 VARNAME VARNAME引用 [root@localhost tmp]# ANIMAL="pig" [root@localhost tmp]# echo "The animal is ${ANIMAL}s" The animal is pigs 局部变量 local VARNAME=VALUE: 作用于为当前代码段位置变量 $1,$2,$3.... 引用脚本参数 shift n特殊变量 $?:上一个命令执行状态返回值: $#: 参数的个数 $*: 参数列表 $@: 参数列表 [root@localhost ~]# ls /varr ls: cannot access /varr: No such file or directory [root@localhost ~]# echo $? 2 [root@localhost ~]# lss -bash: lss: command not found [root@localhost ~]# echo $? 127 [root@localhost ~]# ls anaconda-ks.cfg demo.sh Downloads post-install Templates Videos demo Desktop Music post-install.log test demofile Documents Pictures Public test_dir [root@localhost ~]# echo $? 0

    查询状态返回代码(0-255) 0:正确执行 1-255: 错误执行:1,2,127系统预留

    /dev/null: 软件模拟设备, bit bucket,数据黑洞

    查看当前shell中的环境变量: printenv env export

    条件测试的表达: [expression] [[expression]] test expression

    整数比较: -eq: 测试两个整数是否相等 $A -eq $B -ne: 测试两个整数是否不等: $A -ne $B -gt: 大于 -lt:小于 -ge: 大于或等于 -le:小于或等于

    字符测试: ==: 测试是否相等 !=: 测试是否不等 > < -n string: 测试字符串是否为空 -s string: 测试字符串是否不空

    命令间的逻辑

    变量名称: 只能包含字母、数字和下划线,并且不能数字开头:不应该跟系统中已有的环境变量重名

    if 判断条件; then statement1 statement2 … else statement3 statement4 fi

    shell算数表达式: A=3 B=5 1. let算术运算表达式 let C=$A+$B 2.$[算术表达式] C=$[ $A+$B ] 3.$((算数表达式)) C=$(($A+$B)) 4.expr算术运算表达式,表达式中各操作数及运算符之间有空格,而且要使用命令引用 C=`expr $A + \$B`

    exit: 退出脚本 exit NUMBER: NUMBER代表状态码

    转载请注明原文地址: https://ju.6miu.com/read-10024.html

    最新回复(0)