我有两个文本文件,每个文件中都包含一行信息,例如:
file1.txt file2.txt
---------- ---------
linef11 linef21
linef12 linef22
linef13 linef23
. .
. .
. .
我想要使用Bash脚本逐行合并这些文件,以便获得:
fileresult.txt
--------------
linef11 linef21
linef12 linef22
linef13 linef23
. .
. .
. .
如何在Bash中实现这个功能?
paste -d "\n" * > results.txt
- Ostap Maliuvanchukpaste
命令将使用制表符分隔每一列,除非您使用-d
选项进行覆盖,因此您可以使用awk
、sed
等工具来格式化每一行。例如:paste file1.txt file2.txt | awk '{printf "%-61s | %s\n", $1,$2}'
... 这将模仿diff --side-by-side
的输出。 - Yzmir Ramirezpaste -d ""
可以将多行文本连接为一行,没有分隔符和空格。 - Victoria Stuart