![将行从一个文件插入到另一个文件的简单方法](https://linux22.com/image/135792/%E5%B0%86%E8%A1%8C%E4%BB%8E%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%E6%8F%92%E5%85%A5%E5%88%B0%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%E7%9A%84%E7%AE%80%E5%8D%95%E6%96%B9%E6%B3%95.png)
我有两个包含超过 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