Linux awk续讲

#### 运维

~~~bash
运维背锅侠:没事 感觉不到你存在,一找你就出事了。
1)PPT 图形汇报
2)数据汇报,成绩汇报。
3)面对问题:
1.快速解决。写故障报告。半夜起来处理问题。把故障报告写好。
2.遇到问题,还可以放大问题(前提可控),引起注意,从而争取更多的资源。
讲到优化:无限的优化能力。
a.服务器上线之前,压力测试(进行了优化的)。并发1000人访问。写好报告发给领导。
用户增加。。。从0到并发800人,用了多长时间。
提前给领导灌输价值观:并发1000人访问
~~~

#### 多分隔符用法

~~~bash
echo "1::::2====3----4"|awk -F "[:=-]+" '{print $1,$2,$3,$4}'
1 2 3 4
echo "1:::==:2==::==3----4"|awk -F "[:=-]+" '{print $1,$2,$3,$4}'
1 2 3 4
[:=+]+ 里面的任意一个做分隔符
[:=-]+遇到[]里的任意多个字符算一个
~~~

 

#### 用awk去stat /etc/hosts结果的644

~~~bash
stat /etc/hosts |awk -F "[0/]" 'NR==4{print $2}'
644
【内容模糊匹配】
问题6:过滤文件中第一列内容匹配root的字符串,把符合的行的最后一列输出。
解答:这道题在过滤日志信息的时候常用,示例如下。
awk -F ":" '$1~/root/ {print $NF}' test.txt
<==$1~/root/表示第一列内容匹配root条件,$NF表示最后一列。
#/etc/passwd
awk -F ":" '$1~/oldboy/{print $NF}' /etc/passwd
问题7:过滤下列test1.txt文件中第三列内容分数大于70,并且小于95的人名和性别。
cat test1.txt
张三 男 80
李四 女 70
王五 男 90
赵六 女 100
中文乱码:
1)调解xshell属性-终端-字符集-简体中文gb18030(只调一个就好了)
2)如果还不行做如下调整:
tail -2 /etc/profile
#export LANG='en_US.UTF-8'
export LANG='zh_CN.UTF-8
生效:
. /etc/profile
解答:
awk '$3>70&&$3<95{print $1,$2}' test1.txt
张三 男
王五 男
~~~

 

上一篇:1363. 汉明码


下一篇:小包子-最优策略