Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 每个文件中的行不';合并两个文件时,t显示在同一行中_Bash_Shell_Ubuntu_Join_Sed - Fatal编程技术网

Bash 每个文件中的行不';合并两个文件时,t显示在同一行中

Bash 每个文件中的行不';合并两个文件时,t显示在同一行中,bash,shell,ubuntu,join,sed,Bash,Shell,Ubuntu,Join,Sed,我在使用ubuntu“join”命令合并两个文件时遇到问题。这困扰了我一个星期。实际上我经常使用这个命令来编辑文件,这是我第一次遇到这个问题。我有两个文件如下所示(例如,此处分隔的空间): 文件1 A A A B B B ... 文件2 这些文件有20多列,数百行(utf-8字符集,制表符分隔)。我使用join命令根据第一列合并两个文件。结果应该是这样的: A A A D D B B B E E join -1 3 -2 1 -o 1.1,1.2,1.3,1.4,2.2,2.3,2.4 -

我在使用ubuntu“join”命令合并两个文件时遇到问题。这困扰了我一个星期。实际上我经常使用这个命令来编辑文件,这是我第一次遇到这个问题。我有两个文件如下所示(例如,此处分隔的空间):

文件1

A A A
B B B
...
文件2

这些文件有20多列,数百行(utf-8字符集,制表符分隔)。我使用join命令根据第一列合并两个文件。结果应该是这样的:

A A A D D
B B B E E 
join -1 3 -2 1 -o 1.1,1.2,1.3,1.4,2.2,2.3,2.4 -t $'\t' <(sort -k3,3 file1) <(sort -k1,1 file2)  

paste -d"\t" file1 file2
但我明白了:

A A A
 D D
B B B
 E E 
我尝试输出两个文件,然后使用“粘贴”命令合并,得到了相同的结果。此外,我在每行的第一行/结尾没有看到任何换行符。我尝试了sed-I的/\n\t/\t/g文件。它不起作用。 他们还是不在同一条线上!你们以前见过他的问题吗?可能的原因是什么

我的命令如下所示:

A A A D D
B B B E E 
join -1 3 -2 1 -o 1.1,1.2,1.3,1.4,2.2,2.3,2.4 -t $'\t' <(sort -k3,3 file1) <(sort -k1,1 file2)  

paste -d"\t" file1 file2

join-1 3-2 1-o 1.1,1.2,1.3,1.4,2.2,2.3,2.4-t$”\t“在您的问题中我没有看到任何
join
命令……请将join命令放入您的问题中(格式为代码)。好的,我已经使用此join命令很长时间了,这是我第一次遇到这个问题。
file file1 file2
对文件有什么说明?@Neng:您指定tab作为
join
的字段分隔符,但将其设置为
sort
命令的空格。我不明白这是如何解释这个结果的,但它确实看起来很奇怪。我在你的问题中没有看到任何
join
命令……将join命令放入你的问题中(格式为code)。好的,我已经使用这个join命令很长时间了,这是我第一次遇到这个问题。
file file1 file2
对文件有什么说明?@Neng:您指定tab作为
join
的字段分隔符,但将其设置为
sort
命令的空格。我不明白这是如何解释这个结果的,但它确实看起来很奇怪。