用于将多个文本文件合并为一个文件的Shell脚本失败

时间:2018-05-29 14:03:32

标签: bash shell

需要帮助将多个文本文件合并到一个文件中,

当我通过shell脚本执行此操作时,它正在更改文件的对齐方式。

例如:文件1的数据如下:

Hello world
Hello World1
Hello World2

文件2的数据如下:

Hello New World
Hello New World 2

通过shell脚本合并后创建的结果文件:

Hello world Hello Wor
ld Hello world2

文件的各个部分都在一起。

此shell脚本在AS400系统上执行

使用的代码:

cat *.${3} >> ${2}

2 个答案:

答案 0 :(得分:1)

试试这个..

cat file1

`Hello world
Hello World1
Hello World2`

cat file1 >> file3

cat file3

Hello world
Hello World1
Hello World2

cat file2

Hello New World
Hello New World 2

cat file2 >> file3

cat file3

Hello world
Hello World1
Hello World2
Hello New World
Hello New World 2

另一种方法是:$ sed -n wfile.merge file1.txt file2.txt

答案 1 :(得分:0)

我会假设:

1 - $ {3}是要连接的文件的扩展名,因此*。$ {3}是所有源文件的名称。

2 - 您发布的结果不是实际上一个确切的输出。 (源文件中没有“world2”字样)

我想到的是源文件的行终止可能会导致错误。也许有些'\ r'存在于那里?您应该检查行结尾是否为unix样式(行以'\ n'结尾)

否则,请尝试运行cat File1cat File2并检查输出是否符合预期。这应该会给你一个提示,说明为什么他们被错误