shell与awk学习复习例子(循环与字符串截取判断)
2017-11-10 15:24
721 查看
1、采集sflow数据脚本
2、判断挂载在操作系统上的文件系统是否可写脚本
3、判断文件系统目录属性
好记性不如烂笔头。网上搜索shell与awk编程例子一大堆,但要做到熟练,随手就用还需要多记多练。
通过sflowrt解析sflow报文,然后通过sflowrt接口json数据获取需要的监控值。
#!/bin/sh curl_result=`curl http://localhost:8008/metric/10.0.2.4/json 2>/dev/null` fiter_str=$1 result=`echo $curl_result | awk -F , -v awk_fiter=$fiter_str '{for(i=0;i<NF;i++){ if(index($(i+1),awk_fiter))print $(i+1)}}'` value=`echo $result| awk -F : '{print $2}'` echo $value
复习知识:不输出标准错误;awk分割域;awk外部变量赋值给内部自定义变量;awk for与if语句;NF变量;index函数使用。
2、判断挂载在操作系统上的文件系统是否可写脚本
#!/bin/bash for tmpPath in `df -h | grep '%' |awk 'NR!=1 { for(i=0; i<NF;i++){if($i ~/%$/) print $(i+1)}}'` do if `echo "hello" > ${tmpPath}"/hello.txt" `; then echo $tmpPath "write" rm ${tmpPath}"/hello.txt" else echo $tmpPath "not write" fi done
复习知识:shell for和if语句;awk NR变量与~匹配操作符用法。
3、判断文件系统目录属性
由2例子变化而来
#!/bin/bash for tmpPath in `df -h | grep '%' |awk 'NR!=1 { for(i=0; i<NF;i++){if($i ~/%$/) print $(i+1)}}'` do result=`ls -ld ${tmpPath}` echo $result p_result=`echo $result |awk '{aaa=$1;print aaa;aa1=substr(aaa,2,1);print aa1;if(aa1 ~ /r/) print "read";print 4000 match(aaa,"^dr")?"read":"not read";print match(aaa,"^d[r-]w")?"wirte":"not wirte"}' ` echo $p_result done
复习知识:awk substr()函数截取字符串;match函数匹配用法;?操作符用法。
好记性不如烂笔头。网上搜索shell与awk编程例子一大堆,但要做到熟练,随手就用还需要多记多练。
相关文章推荐
- shell编程基础自学知识(截取字符串) shell基础语法判断和循环等
- shell脚本的学习1-截取字符串
- linux中shell,awk,sed截取字符串方法总结
- 通过shell例子来学习循环结构的语法
- shell文本过滤编程(六):awk之循环判断及数组
- Linux学习(九)-----shell脚本学习 条件判断和循环
- shell基础学习中的字符串操作、for循环语句示例
- shell if判断(曾经被一个字符串相等的判断纠结半小时,最后只是if后少了个空格!) 和 awk引用外部变量判断
- Linux系统shell脚本判断变量文件目录+l脚本的字符串截取(转)
- linux中shell,awk,sed截取字符串方法总结 Shell 第一种: ${parameter%word} 最小限度从后面截掉word ${parameter%%word} 最大限度从后面
- Python学习笔记-Python的字符串,格式化,条件判断,循环、raw_input的注意事项
- shell学习笔记--字符串截取
- shell脚本学习:循序渐进之初级awk语句,until循环,test语句
- Python教程学习简记1--Python数据类型和变量 字符串和编码 list和tuple 条件判断 循环 dict和set
- shell循环sleep while例子 条件判断
- Python教程学习简记1--Python数据类型和变量 字符串和编码 list和tuple 条件判断 循环 dict和set
- shell学习积累,循环,运算,判断
- shell学习系列——字符串、declare、循环、case
- Shell学习if判断字符串
- shell基础学习中的字符串操作、for循环语句示例