Shell 命令“Join”不起作用

Shell 命令“Join”不起作用

我正在合并两个非常简单的排序文件,但由于某种奇怪的原因,它不起作用。f1.txt:

f1 abc
f2 mno
f3 pqr

f2.txt:

abc a1
mno a2
pqr a3

命令:

join -t '\t' f1.txt f2.txt -1 2 -2 1 > f3.txt

仅供参考,在 f1、f2 文件中,空格是制表符。但这会产生一个空白的 f3.txt。为什么会发生这种情况?这是一个非常简单的连接示例,对吧?

答案1

您的\t命令不会被解释为制表符。为此,您可以/应该使用 ANSI 字符串,这样您的命令就会变成

join -t $'\t' f1.txt f2.txt -1 2 -2 1 > f3.txt

$之前加上,'\t'因此它将被解释为您想要的选项卡。

一个方便的资源,可以引用bash至少这里

相关内容