export : 设置 或者 显示 环境变量 ( 通俗的说,告诉程序先执行export 。告诉他所需的东西在这后面这个目录 或者 文件里)
脚本获取IP地址 :
export addr= `/sbin/ifconfig` |grep -A1 'ens192:'|awk '/inet/{print $2}'
awk 中的 NF: 表示最后一段的值
元字符及其作用:
* #前面的字符匹配了0次货多次
。 #匹配除换行符以外的任意一个字符
^ #匹配行首。^hell
$ # 匹配行尾 。do$
[] #匹配指定的任意一个字符,只匹配一个
[^] #匹配除中括号的字符以外的任意一个字符。
\ # 转义字符用来取消特殊字符含义的。
\{n\} # 表示其前面的字符恰好出现n次。列: [0-9]\{4\} 匹配4位数字,[1][3-8][0-9]\{9\}匹配手机号。
\{n,\} #表示前面的字符出现的次数不小于n次 列: [0-9]\{2\}表示两位及以上的数字。
\{n,m\} # 表示其前面的字符至少出现n次最多出现m次 列: [a-z]
grep aa* test1.txt :匹配至少包含一个(连续)a的行。
grep -n “^$” test1.txt :匹配空白符
grep “a[ir]fv” test.txt : 匹配a和f字母中,不是i 就是 r
cut 字段提取命令
-f 第几列。
-d 分隔符,按照指定的分隔符分隔列
awk -F " " ‘{print $5}’ awk 用于截取。
- BEGIN
给程序赋予初始值,任何在BEGIN {}后面的操作,都是Unix awk 前执行。
- END
** 给程序赋予初始状态,任何在END {} 后边的操作。都是Unix awk 后执行。**
sed 主要用来将数据进行选取,替换,删除,新增的命令
sed - 选项 ‘动作’ 文件名
选项:
-n 一般sed命令回把所有数据都输出到终端。-n后只会把经过sed处理的行输出。
-e 允许对输入数据应用多条sed命令编辑。
-i 用 sed 的修改结果直接修改读取数据的文件,而不是由屏幕输出。
动作:
a\ : 追加,在当前行添加多行时,除最后一行。每行末尾需要用 “ \ ” 代表数据未完成,
c: 行的替换,用C后面的字符替换元数据行,替换多行时除最后一行外,每行末尾需要 “ \ ”代表数据未完结。
-i:插入,在当前行前插入一行或多行时。插入多行时,除最后一行外。每行末尾需要 “ \ ” 表示数据未完结。
d: 删除 删除指定的行。
p: 打印,输出指定的行。
s: 字符串替换,用一个字符串替换另一个字符串,格式为“行范围s/旧字符串 /新字符串/g”
" " 双引号 ’ ’ 单引号 [ ] 方括号 {} awk 输出时 ()单括号 (( )) 双括号``直接进行大小比较 <, >, =
条件判断
按照文件类型判断:
-d 检测目录是否存在,存在为真
-f 检测文件是否存在,存在为真
-e 检测目录和文件是否存在,存在为真
两个文件比较:
字符串的判断
-z 判断字符串是否俄为空。(为空返回真)
-n 判断字符串是否为非空。(非空返回真)
字符1 == 字符2 判断字符一是否和字符2相等(相等返回真)
字符1 !== 字符2 判断字符串1和字符串2 不相等(不行等返回真)
多重条件判断: