介绍
做运维的应该经常用sed和awk这两个工具,但要想把他们用得好绝非易事,需要长时间的积累,本文就粗略的谈谈日常中用到的一些例子。
正文
1 如何在shell中获取字符串string的长度
echo ${#string}
2 替换文件text中一个或多个空格
sed -i “s/ \+/||/g” test
注释:\+意思是之前字符的一个或多个
3 删除文件text中“[”和“]”两个字符
sed -i -e “s/\[//g” -e “s/\]//g” text
4 文本text的每一列以逗号分隔,现在要删除第六列,然后输出其他列,每一列以空格分隔
awk ‘BEGIN{FS=”,”;OFS=” “}{$6=””;print $0}’
5 输出每个用户所占用的CPU百分比
top -bn 1 | awk ‘{if (NR>7) print $0}’ | awk ‘{sum[$2]+=$9}END{for (i in sum) printf “%.2f %s\n” ,sum[i],i}’ | sort -nr
6 统计nginx的access.log中每个url的访问数和流量,输出前10名
awk ‘{print $7″\t” $10}’ access_2010-12-8.log|awk ‘{S[$1]+=$2;S1[$1]+=1}END{for(i in S) print S[i],S1[i],i}’|sort -rn|head -10
以下链接你也可以看看哦
在sed命令中引入shell变量 http://www.linuxidc.com/Linux/2014-03/97896.htm
Linux下Shell编程——sed命令基本用法 http://www.linuxidc.com/Linux/2013-06/85526.htm
Unix文本处理工具之sed http://www.linuxidc.com/Linux/2013-08/89315.htm
sed 高级用法 http://www.linuxidc.com/Linux/2014-09/106961.htm
sed命令详解与示例 http://www.linuxidc.com/Linux/2014-11/109325.htm
Linux文本处理工具之sed http://www.linuxidc.com/Linux/2015-01/111436.htm
Shell脚本之AWK文本编辑器语法 http://www.linuxidc.com/Linux/2013-11/92787.htm
正则表达式中AWK的学习和使用 http://www.linuxidc.com/Linux/2013-10/91892.htm
文本数据处理之AWK 图解 http://www.linuxidc.com/Linux/2013-09/89589.htm
如何在Linux中使用awk命令 http://www.linuxidc.com/Linux/2014-10/107542.htm
文本分析工具-awk http://www.linuxidc.com/Linux/2014-12/110939.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-02/112776.htm