我有一个文件,其中的值由制表符分隔。当一个值不存在时,我在相应的字段中加上一个“ - ”。
每一行都以标识符开头。我只是在搜索与给定标识符相对应的行,并在两台不同的机器(B和C)的机器A(Linux)上使用 grep ,并显示两个不同的结果。特别是从其中一台机器中,有些连续' - '缺失。 这两台机器是linux ubuntu(B),另一台是MAC OSX(C)。 这是一个例子:
输入文件:
comp10034_c0_seq1 281 - UniRef90_B7GCX2 276 3e-29 640 98.220640569395 13.90625 Predicted_protein Phaeodactylum_tricornutum - - GO:0006200 ATP_catabolic_process GO:0005524 ATP
binding GO:0016020 membrane pfam00005 138-230 1.00e-09 - - - 93 - 0 0.136126 0
comp10036_c0_seq1 315 - - - - - - - - - - - - - - -- - - - - - - - - 77 + 2 0.00277103 0
comp10037_c0_seq1 350 - - - - - - - - - - - - - - -- - - - - - - - - 77 + 2 0.738719 0
comp6261_c0_seq1 1227 - UniRef90_K0R0D8 519 1e-82 186 42.2982885085575 98.9247311827957 Uncharacterized_protein Thalassiosira_ oceanica - - - - - - - - - - - - - -- 350 + 1 0.0034993 0
GREP FROM MACHINE B
grep 'comp6261_c0_seq1' file.txt
结果:
comp6261_c0_seq1 1227 - UniRef90_K0R0D8 519 1e-82 186 42.2982885085575 98.9247311827957 Uncharacterized_protein Thalassiosira_oceanica - - - - - - - - - - - - - -- 350 + 1 0.0034993 0
GREP FROM MACHINE C
grep 'comp6261_c0_seq1' file.txt
结果:
comp6261_c0_seq1 1227 - UniRef90_K0R0D8 519 1e-82 186 42.2982885085575 98.9247311827957 Uncharacterized_protein Thalassiosira_oceanica - 350 + 1 0.0034993 0
P.S。 这里的论坛标签不可见,所以我选择用空格分隔的单词。
答案 0 :(得分:0)
每台计算机上的输入文件都不同,或者输入文件包含在每台计算机上以不同方式解释的控制字符。在输入文件上运行diff
和cat -v
以发现哪个是真的。
答案 1 :(得分:0)
如果文件相同,可能grep不是。检查您的grep
是否是链接,别名或内置(shell函数)。尝试运行:
which grep
`which grep` 'comp6261_c0_seq1' file.txt