Linux 合并文件

Linux merging files

我正在参加 linux 在线课程,但我遇到了一个问题,您可以在下面找到问题。

您将获得名为 a.bfb.bfc.bf 的三个文件。将这三个文件的内容合并,写入一个名为abc.bf的新文件中。遵守顺序:abc.bf 必须先包含 a.bf 的内容,然后是 b.bf 的内容,然后是 c.bf.

的内容

例子 假设给定的文件具有以下内容:

a.bf 包含+++。

b.bf 包含 [][][][].

c.bf 包含 <><<>。

文件 abc.bf 应该有

+++[][][][]<><><>

作为其内容。 我知道如何合并这 3 个文件,但是当我使用 cat 时,我的输出是:

+++
[][][]
<><><>

当我使用粘贴时,我的输出是 "+++ 'a lot of spaces' [][][][] 'a lot of spaces' <><><>"

我需要的输出是 +++[][][][]<><><>,我不想要内容之间的空格。有人可以帮助我吗?

echo -n "$(cat a.bf)$(cat b.bf)$(cat c.bf)" > abc.bf

  • echo -n 不会输出尾随换行符

您要做的是删除换行符。

tr:

cat {a,b,c}.bf | tr --delete '\n' > abc.bf

echo & sed:

echo $(cat {a,b,c}.bf) | sed -E 's/ //g' > abc.bf

xargs & sed:

<{a,b,c}.bf xargs | sed -E 's/ //g' > abc.bf

注意sed只是用来去掉空格。

cat & sed:

cat {a,b,c}.bf | sed -z 's/\n//g'