Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

comm 命令实例不正确 #30

Closed
zhangnew opened this issue Oct 13, 2017 · 7 comments
Closed

comm 命令实例不正确 #30

zhangnew opened this issue Oct 13, 2017 · 7 comments

Comments

@zhangnew
Copy link

comm 只能对有序(sort 后的)文本做处理,而实例中的 aaa.txtbbb.txt 都不是有序的。

http://man.linuxde.net/comm 因为这里也是错的

jaywcjlove added a commit that referenced this issue Oct 13, 2017
@jaywcjlove
Copy link
Owner

@zhangnew 这个有序的实例怎么写?

@zhangnew
Copy link
Author

sort 之后的结果就对了:

# cat aaa.txt
aaa
bbb
ccc
ddd
eee
111
222

# sort aaa.txt
111
222
aaa
bbb
ccc
ddd
eee

@jaywcjlove
Copy link
Owner

@zhangnew 先把两个文件 sort 执行以下?然后再执行?

@zhangnew
Copy link
Author

对的,需要有序的(sort 之后的)文件。你可以试试。

参数
文件1:指定要比较的第一个有序文件;
文件2:指定要比较的第二个有序文件。

@jaywcjlove
Copy link
Owner

af0aead

提供了这俩参数

--check-order     检查输入是否被正确排序,即使所有输入行均成对
--nocheck-order   不检查输入是否被正确排序

@zhangnew
Copy link
Author

--nocheck-order   不检查输入是否被正确排序

这样的话,如果输入的文件是乱序的,结果就不是想要的结果了。

比如你的这个例子:

[root@localhost text]# comm --nocheck-order aaa.txt bbb.txt 
aaa
                bbb
                ccc
        aaa
ddd
eee
111
222
        hhh
        ttt
        jjj
第一列  第二列  第三列

aaa 本来应该出现在第三列,却同时出现在了第一、第二列。

jaywcjlove added a commit that referenced this issue Jul 28, 2018
@jaywcjlove
Copy link
Owner

@zhangnew

我仔细比对了数据,如果不进行 sort 只不过,会提示没有排序

comm 命令工具是逐行比对,

比对结果,每一行,第一列是 aaa.txt 拥有的,第二列是 bbb.txt 拥有的,第三列是共同拥有的,比对数据是正确的。 文档做了更新稍微说明了一下。

[root@localhost text]# cat aaa.txt 
aaa
bbb
ccc
ddd
eee
111
222
[root@localhost text]# cat bbb.txt 
bbb
ccc
aaa
hhh
ttt
jjj
[root@localhost text]# comm aaa.txt bbb.txt 
aaa
                bbb
                ccc
        aaa
ddd
eee
111
222
        hhh
        ttt
        jjj
第一列  第二列  第三列

Mu-L referenced this issue in Mu-L/linux-command Aug 1, 2018
haloislet pushed a commit to haloislet/linux-command that referenced this issue Apr 12, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants