我有两个包含超过 10000 行的大型文本文件。
我需要根据它们创建一个新文件,其中包含每个文件中的一行。
文件1 线a B线 线c
文件2 1号线 2号线 3号线
输出
新文件 线a 1号线 B线 2号线 线c 3号线
答案1
简单地与paste
命令:
paste -d'\n' file1 file2 > result
-d'\n'
- 使用换行符\n
作为相应合并项目/行之间的分隔符
$ cat result
line a
line 1
line b
line 2
line c
line 3
答案2
使用awk
:
$ awk '1; { getline <"file1" } 1' file2
line a
line 1
line b
line 2
line c
line 3
或者,更详细地说,
$ awk '{ print; getline <"file1"; print }' file2
line a
line 1
line b
line 2
line c
line 3
答案3
使用file descriptors
打开两个文件描述符并从中读取
while read -r -u 4 l1 && read -r -u 5 l2 ; do
echo $l1
echo $l2
done 4<file1 5<file2 > new_file