shell 处理文件重复字符实现累加----awk
需求一个文本test:
zhangsan.li 22 33 232
lisi.hua 23 23 23
zhangsan.li 09 2 33
hujian,qi 89 3 34
lisi.hua 98 34 34
要转换成:
zhangsan.li 31 35 265
lisi.hua 112 57 57
hujian,qi 89 3 34
下面是shell脚本的代码:
#!/bin/bash
cat test
echo 'merge file'
cat test | awk '{a[$1]+=$2;b[$1]+=$3;c[$1]+=$4}END{for (i in a) print i,a[i],b[i],c[i];}'
将结果重定向一个文件,并且按照第二列进行升序排序。
cat test | awk '{a[$1]+=$2;b[$1]+=$3;c[$1]+=$4}END{for (i in a) print i,a[i],b[i],c[i];}' \
> result.txt 2>&1 | awk '{sort -rnk $2}'
监听端口的连接数
netstat -anp|grep :80|awk '{print $5}'|awk -F: '{print $1}'|awk '{a[$1]+=1;}END{for (i in a) print i,a[i];}'
二、shell脚本多行合并-------------高级用法
要求:
文件:text.txt 格式:
web01[192.168.2.100]
httpd ok
tomcat ok
sendmail ok
web02[192.168.2.101]
httpd ok
postfix ok
web03[192.168.2.102]
mysqld ok
httpd ok
需要通过awk将输出格式变成:
web01[192.168.2.100]: httpd ok
web01[192.168.2.100]: tomcat ok
web01[192.168.2.100]: sendmail ok
web02[192.168.2.101]: httpd ok
web02[192.168.2.101]: postfix ok
web03[192.168.2.102]: mysqld ok
web03[192.168.2.102]: httpd ok
分析:
分析发现需要将包含有“web”行进行跳过,然后需要将内容与下面行合并为一行。
[chengmo@centos5 shell]$ awk '/^web/{T=$0;next;}{print T":\t"$0;}' test.txt
web01[192.168.2.100]: httpd ok
web01[192.168.2.100]: tomcat ok
web01[192.168.2.100]: sendmail ok
web02[192.168.2.101]: httpd ok
web02[192.168.2.101]: postfix ok
web03[192.168.2.102]: mysqld ok
web03[192.168.2.102]: httpd ok
$0代表整行输出
分享到:
相关推荐
Shell编程-字符截取命令-awk命令
第一、找出字符或者字符串的类型,是数字、字母还是其他特定字符,是可打印字符,还是不可打印字符(一些控制字符)。 第二、找出组成字符串的字符个数和字符串的存储结构(比如数组)。 第三、对串的常规操作:求子串、...
详细介绍了Shell编程中字符截取命令-cut printf awk sed。每一步都有详细操作演示,并附有截图。适合初学者。
11.2.3 Shell编程-字符截取命令-awk命令.mp4 11.2.4 Shell编程-字符截取命令-sed命令.mp4 11.3 Shell编程-字符处理命令.mp4 11.4 Shell编程-条件判断.mp4 11.5.1 Shell编程-流程控制-if语句.mp4 11.5.2 Shell...
Linux运维-3.Shell编程-12 shell编程-131字符串处理之awk3.avi
Linux运维-3.Shell编程-12 shell编程-129字符串处理之awk1.avi
AWK-4121系列室外无线AP/网桥/客户端为工业应用提供了理想的 3合1无线解决方案,适用于不便接线、布线成本昂贵或使用移动 TCP/IP网络连接设备的场合
MOXA_AWK-3121配置方法及要点说明
linux-awk.doc
我们必须的工具有两个一个是shell一个是awk,awk对于处理文本文件是最最适合的掌握了awk我们就可以很方便的处理文本文件再借助一些shell命令我们可以很方便得到自己想要的结果。现在从简单的例子来总结一下我觉得会...
shell awk 实用程序 介绍awk的使用用例 对于处理文件内容比较方便 供学习参考使用
Vim-101-hacks、Sed-and-Awk-101-Hacks、Linux-101-hacks 英文版(高清)PDF
awk 培训资料 很不错的资料啊 呵呵 awk 培训资料 很不错的资料啊 呵呵
SHELL AWK使用手册,供大家参考学习
awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理
你可能对UNIX比较熟悉,但你可能对awk很陌生,这一点也不奇怪,的确,与其优秀的功能相比,awk还远没达到它应有的知名度。awk是什么?与其它大多数UNIX命令...正是这三个人创造了awk---一个优秀的样式扫描与处理工具。
shell编程包括awk,sed,crontab等linux 中的shell常用用法
【awk】1-awk基础篇(又名UNIX.Shell.awk).doc
awk 是一种编程语言,用于在 linux/unix 下对文本和数据进行扫描与处理。数据可 以来自标准输入、文件、管道。
shell、awk编程教材