求助:join命令的问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
sunyamin8888
帖子: 3
注册时间: 2011-07-20 14:34

求助:join命令的问题

#1

帖子 sunyamin8888 » 2012-07-14 18:01

鸟哥的四方菜中的340页中的例子:
我这样运行就可以:
join -t ':' -1 4 /etc/passwd -2 3 /etc/group
可是这样:join -t ':' -1 4 /etc/passwd -2 3 /etc/group >> join_file 就不行了
显示是这样:
join: /etc/passwd:6: is not sorted: games:x:5:60:games:/usr/games:/bin/sh
join: /etc/group:11: is not sorted: uucp:x:10:
不知为什么。
可是我已经sort过了。输出还是出错。难道是因为join不能接>>吗?
求高手指点。谢谢。
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 求助:join命令的问题

#2

帖子 aerofox » 2012-07-15 6:46

>> 不应该会影响 join 的,>> 不归 join 管。
sunyamin8888
帖子: 3
注册时间: 2011-07-20 14:34

Re: 求助:join命令的问题

#3

帖子 sunyamin8888 » 2012-07-15 7:11

aerofox 写了:>> 不应该会影响 join 的,>> 不归 join 管。
哦,谢谢。我再想想吧。这玩意儿在ubuntu和centos上执行都是一样的结果,不是bug的话,就是俺哪里搞错了。
头像
Fermat618
帖子: 728
注册时间: 2008-12-28 16:01

Re: 求助:join命令的问题

#4

帖子 Fermat618 » 2012-07-15 7:22

观察不仔细。那几行是标准错误里面的,你第一遍运行的时候,那些行就出现了,但混杂于标准输出中,你没看到而矣。 >> 把标准输出给重定向到了文件,就剩下了那些行。
爱因斯坦会弹钢琴
爱因斯坦会拉小提琴
爱因斯坦会骑自行车
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 求助:join命令的问题

#5

帖子 lilydjwg » 2012-07-15 16:11

谁能给出正确的命令?sort -t: -k3 不行,因为它并不比较指定的域,而是从那之后的部分。
sunyamin8888
帖子: 3
注册时间: 2011-07-20 14:34

Re: 求助:join命令的问题

#6

帖子 sunyamin8888 » 2012-07-15 16:57

Fermat618 写了:观察不仔细。那几行是标准错误里面的,你第一遍运行的时候,那些行就出现了,但混杂于标准输出中,你没看到而矣。 >> 把标准输出给重定向到了文件,就剩下了那些行。
原来这样。谢谢你! 把命令改成这样:join -t ':' -1 4 /etc/passwd -2 3 /etc/group 1>>./join.file 2>/dev/null
就行了。 :em06 :em06
回复