【发布时间】:2014-03-01 05:04:17
【问题描述】:
我有两个文件,file1.txt 和 file2.txt。每个都有相同数量的行,但file1.txt 中的某些行是空的。这在两个文件的内容并行显示时最容易看到:
file1.txt file2.txt
cat bear
fish eagle
spider leopard
snail
catfish rainbow trout
snake
koala
rabbit fish
我需要将这些文件组合在一起,以便file1.txt 中的空行填充来自file2.txt 的行(具有相同行号)中的数据。 file3.txt 中的结果如下所示:
cat
fish
spider
snail
catfish
snake
koala
rabbit
到目前为止,我能做的最好的事情是创建一个 while read -r line 循环,创建一个计数器来计算 while 循环的循环次数,然后使用 if 条件检查 $line 是否为空,然后使用cut根据计数器上的数字从file2.txt获取行号。这种方法似乎效率很低。
- 有时
file2.txt可能包含一些空行。如果file1.txt有一个空行并且file2.txt在同一位置也有一个空行,则结果是file3.txt中的一个空行。
如何用另一个文件中的对应行填充一个文件中的空行?
【问题讨论】: