系统运维易忘点总结之四

字串截取的方法
1.使用${变量名:起始位置:长度}
2.expr substr "$var" 起始位置 长度
3.echo $var|cut -b 起始位置-结束位置

字串替换:
${变量名/old/new} #只替换第1个匹配结果
${变量名//old/new}#替换全部

字符串掐头:
“#”号表示删除头部,“*”通配
从左向右,最短匹配删除:${变量名#*关键词}
从左向右,最长匹配删除:${变量名##*关键词}

字符串去尾:
“%”号表示删除尾部
从右往左,最短匹配删除:${变量名%关键词*}
从右往左,最长匹配删除:${变量名%%关键词*}

shell变量名初始值预设:${var:-word}

expect预期交互
软件包:expect

egrep过滤工具用法:
1.egrep 【选项】'正则表达式' 文件..
2.前置命令 | egrep 【选项】'正则表达式'


sed工具用法
1.前置命令 | sed【选项】‘编辑指令’
2.sed【选项】‘编辑指令’文件
常见命令选项:-n屏蔽默认输出;-i:直接修改文件内容;-r:启用扩展的正则。
编辑指令可以是/正则/或行号
动作指令:p打印行;d删除行;s字符串替换
如1:2,4p是输出第2、3、4行;
如2:2p;4p:输出第2行、第4行
如3:s/old/new/3 :将每行的第3个old替换为new
文本块的处理:
i:行前插入文本,如:2iYY 是指在第2行之前添加文本行“YY”
a:行后插入文本
c:替换当前行,如:2cYY 是指将第2行的内容修改为“YY”
文件的导入导出操作:
r:读取文件,即导入。如:3r b.txt 指在第3行下方插入文件b.txt
w:保存到文件,如:3w cx.txt 指将第3行另存为文件cx.txt
sed复制剪切:
模式空间(“存储行”)和保持空间(“剪贴板”)
复制操作:H:模式空间---【追加】--->保持空间;h:模式空间---【覆盖】--->保持空间
粘贴操作:G:保持空间---【追加】--->模式空间;g:保持空间---【覆盖】--->模式空间
如:sed '1h;2H;1,2d;$G' reg.txt 表示将第1到第2行剪切到文件末尾


AWK工具
awk【选项】‘【条件】{指令}’文件
-F:指定分隔符,如:awk -F: '{print $1,$5}' /etc/passwd
内置变量:FS与-F选项的功能意一样;
$n:指定分隔的第n个字段,即第几列;
$0:当前读入的整行文本内容;
NF:列数
NR:行数
过滤三阶段:BEGIN{} ....{} ....END{}
awk流程控制

猜你喜欢

转载自www.cnblogs.com/Haihong72H/p/12301141.html
今日推荐