分页: 1 / 1

求助:join命令的问题

发表于 : 2012-07-14 18:01
sunyamin8888
鸟哥的四方菜中的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不能接>>吗?
求高手指点。谢谢。

Re: 求助:join命令的问题

发表于 : 2012-07-15 6:46
aerofox
>> 不应该会影响 join 的,>> 不归 join 管。

Re: 求助:join命令的问题

发表于 : 2012-07-15 7:11
sunyamin8888
aerofox 写了:>> 不应该会影响 join 的,>> 不归 join 管。
哦,谢谢。我再想想吧。这玩意儿在ubuntu和centos上执行都是一样的结果,不是bug的话,就是俺哪里搞错了。

Re: 求助:join命令的问题

发表于 : 2012-07-15 7:22
Fermat618
观察不仔细。那几行是标准错误里面的,你第一遍运行的时候,那些行就出现了,但混杂于标准输出中,你没看到而矣。 >> 把标准输出给重定向到了文件,就剩下了那些行。

Re: 求助:join命令的问题

发表于 : 2012-07-15 16:11
lilydjwg
谁能给出正确的命令?sort -t: -k3 不行,因为它并不比较指定的域,而是从那之后的部分。

Re: 求助:join命令的问题

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