t06 shell比较两个文件的差异(差集)

阅读全文

昨天有个同事问我一个问题,在shell中如何比较两个文件的差异.想找出A文件中没有在B文件里面出现的记录 两个文件一个是这样的格式: A文件: Url : http://abc.com Url : http://bcd.com/bcd Url : http://def.com/def/def B文件: http://abc.com http://bcd.com/bcd 这个同事写了一长段的AWK语句,但是发现并不奏效. 于是我用了这样的方式: 1. 将A文件变成和B文件相同的格式

awk '{print $3}' A > A.txt
于是A文件中也是每行一个单独的URL了. 2.
sort A.txt B B ¦ uniq -u
这个是啥意思呢,如果有记录在A中有,比如记录为a,在B中没有出现,那么sort A.txt B B,即把B的内容重复了两次之后排序,得到的结果肯定还是只有一行a.因此uniq -u就会把它拿出来(uniq -u只输出未重复的行).而如果在B中出现了的话,结果中至少就会有两行相同的记录,uniq -u就不会输出它. 这样的结果就是A中出现,B中未出现的了. 这样的思路很简单,但是发现结果也并不是我们想要的. 预期的输出大概只有几十行,但是实际上输出了上万行,比A,B原来的行数更多. 这是咋回事儿? 肉眼比较了一下,感觉不应该啊. 3. 突然想到,有可能是格式不一致. -rw-rw-r-- 1 work work 403589 3?? 28 10:55 A.txt -rw-r--r-- 1 work work 389329 3?? 27 16:32 B 按理说只有几十行的差异,大小不会相差这么大啊.灵机一动想到可能是dos和unix格式不统一造成的(换行符分别是\n\r和\n). file了一下,结果是这样的: A.txt: ASCII text, with CRLF line terminators B: ASCII text 果然A的换行符有问题..是dos格式的. 因此使用dos2unix A.txt命令,将A.txt变成unix格式. 然后使用2中的命令,果然正确啦!

The post t06 shell比较两个文件的差异(差集) appeared first on 邮递员大叔.

阅读全文>>

f01 我想和你说说话

阅读全文

翻了翻以前的日志,翻了翻以前的照片。 我一直不是个文艺青年,也不乐于去伪装成文艺青年。第一,我不文艺,第二,我不是青年。 如果非要冠个头衔,倒不如叫做“吐槽大叔”。 因而日志,一而二二而三,数字大了便又换个系列。也许隐藏一些小小的心情,到了现在,便是这心情也有些不记得了。 所幸,看了还是开心居多。 开心的理由是,看到一个磋人,动辄经历一些古怪的,或者悲哀的,也可能是无趣的事件。 我已成为个旁观者,所以颇是有幸灾乐祸的变态快感。 那是过去的我,已经不能和他再对话。 到了北京这么久了,今天又是一场雪。也忘了是在北京看到的第几场雪了。 今年我有好多想法,想做的东西很多,可惜没有时间。 说是挤一挤总会有的,但是挤一挤也总是不够的。 今年过年回家,和@宋去参加信息竞赛小组的聚会。 “同辈”师兄弟真是不多,更多的是现在的小学弟们了。他们的大师姐chenyi估摸着还在新疆过着节吧? 江老说,他问我高考志愿是不是要选化学,我说,计算机。他大为欣慰。 事实上的确我在志愿单上,基本上是等于把三个学校和计算机相关的专业列了个遍。什么计算机,软工,信安,甚至于到什么电子科技类了。最后弱弱地,在复旦的专业最后一栏加上唯一的一个“应用化学”。18个志愿中唯一的非计算机相关了。 于是我真的现在成了码农了。 或者,请叫我工程师。 就像那句“我是个演员”。 不知道是谁说的,“我不是程序员,我是工程师”。 瞬间形象高大起来一般。 我偶尔教导@宋,我说,编程是一个创造性、富有激情的工作。 其实我做不到完全。 尤其是当它是“任务”,或者是“kpi”的时候,有时候就会厌烦了。 只有去做自己想做的事情才是让我开心的。 技术上我有欠缺,经常不喜去深入底层,研究到操作系统之类。 所以大学的时候,这种类型的课也要了我的命。 或者,我更加开心的是,去看到我想做的事情变成一个现实,变成一个外在。 其实,我也想和未来的自己说话。 虽然他只能听,却不能给我回答。 所以也不记得什么时候,我也想做个这样的东西,给未来的自己留下些什么。 也许他会记得我。 记得我现在的样子、心情。 大概也是为了让自己没有遗憾吧? 直接买下了10年的域名hi2future.com。 幸而它的运转不需要什么成本,就是这样放着,真地成了个无人值守的邮局也好,静静看人来人往。 不过备案真的好慢,已经过去半个月了。 还没想好下面一个该选哪一个想法去实现,难道真的要走普文二三部曲么?

The post f01 我想和你说说话 appeared first on 邮递员大叔.

阅读全文>>