免费注册 查看新帖 |

Chinaunix

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

can shell script do this job pls? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-07-16 15:33 |只看该作者 |正序浏览
各位大侠,bjgirl MM大侠:

bash, rh7.3

problem:

1). file f1 and file f2
2). f1 1000 long lines
3). f2 50 short lines
4). f1 contains f2
5). remove all lines in f1 which contain the short lines in f2

i know i can write a small c application to do this combining with sed.

can shell script do this job pls ?


thx in advance

论坛徽章:
0
16 [报告]
发表于 2004-07-19 21:27 |只看该作者

can shell script do this job pls?

one problem with this solution (cat f1 f2 |sort| uniq -u) is that:

if f1 has dulicated lines which contains a line in f2.

(maybe do the command a few times)

论坛徽章:
0
15 [报告]
发表于 2004-07-19 21:24 |只看该作者

can shell script do this job pls?

原帖由 "Mercury_cn" 发表:

这句话好费解,C还是SED?


forgive my poor english

i meant calling sed/awk from my c application~~

论坛徽章:
0
14 [报告]
发表于 2004-07-19 15:51 |只看该作者

can shell script do this job pls?

原帖由 "luvlm" 发表:
uniq seams can not do the job.

reason: lines in f2 are not necessarily the same as in f1

if you gurus read the original poster carefully.


indeed.  however, you can specify parameter -w,
which can reasonably do the job in my situation.


thank you all!

论坛徽章:
0
13 [报告]
发表于 2004-07-19 04:17 |只看该作者

can shell script do this job pls?

uniq seams can not do the job.

reason: lines in f2 are not necessarily the same as in f1

if you gurus read the original poster carefully.

论坛徽章:
0
12 [报告]
发表于 2004-07-17 23:53 |只看该作者

can shell script do this job pls?

[quote]原帖由 "BJTD"]i know i can write a small c application to do this combining with sed. ....[/quote 发表:


这句话好费解,C还是SED?

论坛徽章:
0
11 [报告]
发表于 2004-07-17 18:53 |只看该作者

can shell script do this job pls?

用uniq和sort就可以实现了

论坛徽章:
0
10 [报告]
发表于 2004-07-17 18:38 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
9 [报告]
发表于 2004-07-17 18:16 |只看该作者

can shell script do this job pls?

AIX中有个很有趣的命令,不知道其他系统有没有
comm [ -1 -2 -3 ] File1 File2
-1 Suppresses the display of the first column (lines in File1).

-2 Suppresses the display of the second column (lines in File2).

-3 Suppresses the display of the third column (lines common to File1 and File2).
使用举例:
[code]
cat aa
111
222
333
cat bb
111
222
comm -3 aa bb
333
[\code]

论坛徽章:
0
8 [报告]
发表于 2004-07-16 23:38 |只看该作者

can shell script do this job pls?

原帖由 "yichun" 发表:
如果不考虑顺序的话,可以:
cat f1 f2 | sort | uniq -u


thank u very much indeed.

i shall give it a go later on.

have a good weekend, all.
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP