免费注册 查看新帖 |

Chinaunix

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

[文本处理] 求助一个对比文件的shell [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-06-20 23:17 |只看该作者 |倒序浏览
本帖最后由 limaoyuan 于 2014-06-20 23:27 编辑

有a.txt和b.txt二个文件,需要找出a.txt中等号之前的部分在b.txt中对应的逗号之前的数字是什么,并把数字填加回a.txt或重定向到一个新的文件中。

a.txt
/js/a.js=/Users/limy/work/svntest/project/jsp/index.jsp
/css/v11/c.css=/Users/limy/work/svntest/project/jsp/index.jsp
/css/v8/lpt/lpt.css=/Users/limy/work/svntest/project/jsp/index.jsp
/css/d/d.css=/Users/limy/work/svntest/project/jsp/index.jsp
/css/v9/b.css=/Users/limy/work/svntest/project/jsp/index.jsp
/js/a.js=/Users/limy/work/svntest/project/jsp/index2wq.jsp
/css/v11/c.css=/Users/limy/work/svntest/project/jsp/index2wq.jsp
/css/v8/lpt/lpt.css=/Users/limy/work/svntest/project/jsp/index2wq.jsp
/css/d/d.css=/Users/limy/work/svntest/project/jsp/index2wq.jsp
/css/v9/b.css=/Users/limy/work/svntest/project/jsp/index2wq.jsp

b.txt
135666,/css/v11/c.css
135666,/css/v8/lpt/lpt.css
135659,/css/v8/v8.css
135663,/css/v9/b.css
135642,/js/a.js
135669,/jsp/index.jsp
135657,/pics/a.jpg
135642,/pics/b.jpg


希望的结果是:
得到c.txt
135642/js/a.js=/Users/limy/work/svntest/project/jsp/index.jsp
135666/css/v11/c.css=/Users/limy/work/svntest/project/jsp/index.jsp
135666/css/v8/lpt/lpt.css=/Users/limy/work/svntest/project/jsp/index.jsp
等等....


论坛徽章:
39
辰龙
日期:2013-08-21 15:45:192015亚冠之广州富力
日期:2015-05-12 16:34:52亥猪
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17双鱼座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:0815-16赛季CBA联赛之吉林
日期:2017-06-24 16:43:52
2 [报告]
发表于 2014-06-20 23:37 |只看该作者
本帖最后由 关阴月飞 于 2014-06-21 21:11 编辑
  1. awk -F '[,=]' 'FNR==NR{a[$2]=$1;next}a[$1]!=""{print a[$1] $0}'  b.txt a.txt >c.txt
复制代码

论坛徽章:
0
3 [报告]
发表于 2014-06-21 00:01 |只看该作者
回复 2# 关阴月飞


    谢谢您的回复,明天我研究学习一下,我目前用了个最笨的办法,着急实现,谢谢。

论坛徽章:
0
4 [报告]
发表于 2014-06-21 02:16 |只看该作者
关阴月飞 发表于 2014-06-20 23:37

好高端的用法啊

论坛徽章:
0
5 [报告]
发表于 2014-06-21 05:53 |只看该作者
回复 2# 关阴月飞

a[$1]!="" ≈ a[$1]
两者仅在a[$1]=0的时候有差别。

论坛徽章:
39
辰龙
日期:2013-08-21 15:45:192015亚冠之广州富力
日期:2015-05-12 16:34:52亥猪
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17双鱼座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:0815-16赛季CBA联赛之吉林
日期:2017-06-24 16:43:52
6 [报告]
发表于 2014-06-21 07:52 |只看该作者
回复 5# 用户名注册后不能更改


    防侧漏, a[$1] 直接这样写,肯定会被debug
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP