免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: shouyu924
打印 上一主题 下一主题

[文本处理] awk语句求助 [复制链接]

论坛徽章:
1
黑曼巴
日期:2017-11-27 16:06:48
21 [报告]
发表于 2013-04-24 22:01 |只看该作者
是的。这个可以。只要能得到结果就好了,感谢你回复 16# yinwei2012


   

论坛徽章:
1
黑曼巴
日期:2017-11-27 16:06:48
22 [报告]
发表于 2013-04-24 22:08 |只看该作者
不过只能过滤出英文字符,username是中文的,我试了一下,不行。回复 16# yinwei2012


   

论坛徽章:
0
23 [报告]
发表于 2013-04-24 22:42 |只看该作者
[root@localhost job]# awk '{for(i=1;i<=NF;i++){if($i ~ /username(.*)/){split($i,array,"\"");print array[2]}}}' file
韩宇Jessie
隋黎明丶
以身试愛丶
心尘至心沉
淡然若水ckvin
157128880
独身天涯
Leek丶
泰山不是堆的
7_实我不帅
YaYa521Happy
回复 1# shouyu924


   

论坛徽章:
8
双子座
日期:2013-08-31 07:37:12金牛座
日期:2013-09-09 18:49:12处女座
日期:2013-09-23 11:43:14处女座
日期:2013-10-09 19:48:21狮子座
日期:2014-03-24 18:22:12丑牛
日期:2014-04-22 22:07:51申猴
日期:2014-06-12 21:54:13双鱼座
日期:2014-06-13 21:52:31
24 [报告]
发表于 2013-04-24 23:08 |只看该作者
本帖最后由 kernel69 于 2013-04-24 23:14 编辑

是这样不?可惜不是awk,注:用户
  1. $ perl -lne '/(username="[^"]+")/ and print $1' 称filename
  2. username="韩宇Jessie"
  3. username="隋黎明丶"
  4. username="以身试愛丶"
  5. username="心尘至心沉"
  6. username="淡然若水ckvin"
  7. username="157128880"
  8. username="独身天涯"
  9. username="Leek丶"
  10. username="泰山不是堆的"
  11. username="7_实我不帅"
  12. username="YaYa521Happy2"
  13. username="脔男"
  14. username="qpdjf"
  15. username="真相只有一个BL"
  16. username="谁能让我停歇丶"
  17. username="tianxiao0089"
  18. username="再见丶昨天0"
  19. username="Mmm大红花"
  20. username="超狂03"
  21. username="爱无罪c"
  22. $
复制代码
回复 1# shouyu924


   

论坛徽章:
1
黑曼巴
日期:2017-11-27 16:06:48
25 [报告]
发表于 2013-04-24 23:09 |只看该作者
介个很NB,正好能把双引号也能屏蔽了。能否把代码些短一下呢,我参照别人的写了一个  只是双引号除不了。

sed -n '/username=/'p test.txt |awk '{print $7}'

回复 23# 心若寒江雪


   

论坛徽章:
1
黑曼巴
日期:2017-11-27 16:06:48
26 [报告]
发表于 2013-04-24 23:10 |只看该作者
对我来说结果很重要,其实sed grep awk 都行的啊。。回复 24# kernel69


   

论坛徽章:
8
双子座
日期:2013-08-31 07:37:12金牛座
日期:2013-09-09 18:49:12处女座
日期:2013-09-23 11:43:14处女座
日期:2013-10-09 19:48:21狮子座
日期:2014-03-24 18:22:12丑牛
日期:2014-04-22 22:07:51申猴
日期:2014-06-12 21:54:13双鱼座
日期:2014-06-13 21:52:31
27 [报告]
发表于 2013-04-24 23:15 |只看该作者
刚又改了一下,原来那个要是名字里有空格,获取的名字就不全了,你看符合你的要求不
回复 26# shouyu924


   

论坛徽章:
0
28 [报告]
发表于 2013-04-24 23:16 |只看该作者
sed -n '/username=/'p file |awk '{split($7,array,"\"");print array[2]}'
回复 25# shouyu924


   

论坛徽章:
5
白羊座
日期:2014-10-28 11:23:27水瓶座
日期:2015-01-20 10:19:022015亚冠之柏斯波利斯
日期:2015-07-11 18:17:2015-16赛季CBA联赛之同曦
日期:2015-12-23 12:38:582016猴年福章徽章
日期:2016-02-18 15:30:34
29 [报告]
发表于 2013-04-25 13:09 |只看该作者
sed -n "/username=/{s/^.*username=\"\(.*\)\" src.*$/\1/p}" 1.txt

论坛徽章:
1
黑曼巴
日期:2017-11-27 16:06:48
30 [报告]
发表于 2013-04-27 11:24 |只看该作者
本帖最后由 shouyu924 于 2013-04-27 11:30 编辑

这个不行的,得出结果少用户名
我自己写了一个
sed -n '/username/'p  tieba.txt |awk '{print $7}' |sed 's/"//g' |sed 's/username=//'g

回复 29# klainogn


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP