Linux awk续讲
Posted 晨曦007
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
张三 男
王五 男
~~~
以上是关于Linux awk续讲的主要内容,如果未能解决你的问题,请参考以下文章