几个字符串问题的awk解法_VMware, Unix及操作系统讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  VMware, Unix及操作系统讨论区 »
总帖数
8
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1180 | 回复: 7   主题: 几个字符串问题的awk解法        上一篇   下一篇 
thunis11
渠道商伙伴
等级:新兵
经验:72
发帖:2
精华:0
注册:2015-7-14
状态:离线
发送短消息息给thunis11 加好友    发送短消息息给thunis11 发消息
发表于: IP:您无权察看 2016-5-25 11:24:21 | [全部帖] [楼主帖] 楼主

1.输入:一个文本文件,第一行是一个数字n,其他每行分别是一个单词以及它出现的百分比。
输出:输出n个单词,每个单词出现的几率符合它的百分比。

awk ‘BEGIN{sum=0;}1{n=$0}2,${up=sum+$1;while(sum<$1){arr[sum]+=$2;
sum++;}if(i>100){exit 1;}}END{while(–n>0){print arr[rand()%100];}’


2. 替换字符串
修改test.txt的23行将test换成ttes

sed ’23s/test/tset/g’ test.txt
Cat test.txt| awk ‘NR==23{gsub(/test/,”tset”);print $0}’


3.统计域名的出现次数
文件有如下若干行

http://www.baidu.com/index.html
http://image.baidu.com/index.html
http://www.baidu.com/index.html
http://www.baidu.com/index.html
http://map.baidu.com/index.html
http://tieba.baidu.com/index.html
http://map.baidu.com/index.html
http://www.baidu.com/index.html


统计每个域名出现次数,并按由多到少排序

4 www.baidu.com
2 map.baidu.com
……
awk -F’\/’ ‘{arr[$3]++;}END{for(item in arr){print arr[item], item}}’ test | sort -k1nr


4. 找到重复最多的行

sort file | awk ‘BEGIN{str=””;num=0;maxstr=””;max=0;}{if(str==$0){num++;if(max
--友情转载




赞(0)    操作        顶端 
twany
注册用户
等级:少校
经验:1408
发帖:17
精华:0
注册:2015-6-2
状态:离线
发送短消息息给twany 加好友    发送短消息息给twany 发消息
发表于: IP:您无权察看 2016-5-30 9:51:34 | [全部帖] [楼主帖] 2  楼

顶一个



赞(0)    操作        顶端 
ettu
注册用户
等级:上尉
经验:787
发帖:0
精华:0
注册:2016-2-22
状态:离线
发送短消息息给ettu 加好友    发送短消息息给ettu 发消息
发表于: IP:您无权察看 2016-5-30 9:56:18 | [全部帖] [楼主帖] 3  楼

学习,学习。



赞(0)    操作        顶端 
shouzi
注册用户
等级:下士
经验:171
发帖:0
精华:0
注册:2016-4-14
状态:离线
发送短消息息给shouzi 加好友    发送短消息息给shouzi 发消息
发表于: IP:您无权察看 2016-6-1 20:00:39 | [全部帖] [楼主帖] 4  楼

过来看看



赞(0)    操作        顶端 
duff
注册用户
等级:少校
经验:968
发帖:0
精华:0
注册:2015-7-22
状态:离线
发送短消息息给duff 加好友    发送短消息息给duff 发消息
发表于: IP:您无权察看 2016-6-2 7:41:12 | [全部帖] [楼主帖] 5  楼

非常棒



赞(0)    操作        顶端 
arcona
注册用户
等级:少校
经验:1100
发帖:10
精华:0
注册:2015-6-1
状态:离线
发送短消息息给arcona 加好友    发送短消息息给arcona 发消息
发表于: IP:您无权察看 2016-6-2 9:15:17 | [全部帖] [楼主帖] 6  楼

很厉害~



赞(0)    操作        顶端 
filogra
注册用户
等级:少校
经验:1408
发帖:13
精华:0
注册:2015-6-2
状态:离线
发送短消息息给filogra 加好友    发送短消息息给filogra 发消息
发表于: IP:您无权察看 2016-6-20 9:07:12 | [全部帖] [楼主帖] 7  楼

很强大,感谢经验分享~



赞(0)    操作        顶端 
联动小白
注册用户
等级:新兵
经验:41
发帖:0
精华:0
注册:2015-5-27
状态:离线
发送短消息息给联动小白 加好友    发送短消息息给联动小白 发消息
发表于: IP:您无权察看 2018-5-29 0:57:04 | [全部帖] [楼主帖] 8  楼

为了方便大家阅读,我对文章中命令来解释一下吧!

-k-->tset:-k

-f-->sed:-f

-f-->test:-f

-k-->test:-k

希望能对大家有帮助!^_^ By:坚持不懈的小白

-- 来自: 北京联动北方科技有限公司



赞(0)    操作        顶端 
总帖数
8
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论