免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 8334 | 回复: 11
打印 上一主题 下一主题

求教一个awk匹配后显示第几列的写法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-15 17:31 |只看该作者 |倒序浏览
aaa 333 ajke
aaa 333 ajke
bb  333 werk
ccc 444 sawe
ddd 444 werd
wer 4444 lkjw
oie 444 klqj
eee 555 wera

如何写 aaa 在 第几列
或 如何写wera 在第几列和第几行

论坛徽章:
0
2 [报告]
发表于 2011-12-15 17:39 |只看该作者
awk '$3~/wera/{print $3"在"NR"行"NF"列"}' a.log

论坛徽章:
0
3 [报告]
发表于 2011-12-15 17:59 |只看该作者
回复 1# mmwants
  1. awk -v str="aaa" '{v="";for (i=1;i<=NF;i++) if ($i==str) v=v?v","i:i;if (v) print str":\t"NR"行\t"v"列"}' file
复制代码

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
4 [报告]
发表于 2011-12-15 18:04 |只看该作者
aaa 333 ajke
aaa 333 ajke
bb  333 werk
ccc 444 sawe
ddd 444 werd
wer 4444 lkjw
oie 444 klqj
e ...
mmwants 发表于 2011-12-15 17:31


awk 'BEGIN{x=0}NR==FNR{for(i=1;i<=NF;i++)a[$i];next}{for(i=1;i<=NF;i++)if($i in a)print $i":",NR,i}' <(echo aaa werd) urfile

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
5 [报告]
发表于 2011-12-15 19:26 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
6 [报告]
发表于 2011-12-15 19:57 |只看该作者
回复  cjaizss


    老大你让我失望了.当日注册发贴的你不是不回吗.
zooyo 发表于 2011-12-15 19:26



    呵呵,我没注意.....
    不过真的很不喜欢当日注册发帖问问题的,目的性太强了,不喜欢这样的帐号。
  我觉得既然到论坛里来,注册一个帐号嘛,可以经常和板油们一起讨论问题,挺好的啊,但还是很多人喜欢匿名潜水。等到问问题了,才开始注册一个帐号,然后马上发贴,然后此帐号以后再也不用,我觉得这也是一个资源浪费。

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
7 [报告]
发表于 2011-12-15 20:28 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
8 [报告]
发表于 2011-12-15 21:00 |只看该作者
呵呵,我没注意.....
    不过真的很不喜欢当日注册发帖问问题的,目的性太强了,不喜欢这样的帐号 ...
cjaizss 发表于 2011-12-15 19:57



    这里卧虎藏龙啊,小弟我awk真是才疏学浅。

awk -v str="aaa" '{v="";for (i=1;i<=NF;i++) if ($i==str) v=v?v","i:i;if (v) print str":\t"NR"行\t"v"列"}' test.txt

这条非常好用。

其实小弟这个账号很早注册了,但一直未发过贴。但小弟也不知为什么注册日期显示的是12-15日今天。

论坛徽章:
1
亥猪
日期:2013-10-30 23:29:55
9 [报告]
发表于 2011-12-15 21:38 |只看该作者
这里卧虎藏龙啊,小弟我awk真是才疏学浅。

awk -v str="aaa" '{v="";for (i=1;i
mmwants 发表于 2011-12-15 21:00



    求问,
  1. if ($i==str) v=v?v","i:i;
复制代码
是什么意思???

论坛徽章:
1
亥猪
日期:2013-10-30 23:29:55
10 [报告]
发表于 2011-12-15 21:39 |只看该作者
回复 7# zooyo


    请问一下:
  1. if ($i==str) v=v?v","i:i;
复制代码
是什么意思??
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP