【发布时间】:2015-01-17 13:02:32
【问题描述】:
对不起这个荒谬的标题;这可能是我在 Google 上找不到答案的原因。
我有 5 个文本文件要合并为 1 个。我想要这样的格式:
line1 of file1
line1 of file2
line1 of file3
line1 of file4
line1 of file5
line2 of file1
line2 of file2
line2 of file3
line2 of file4
line2 of file5
等等。
我尝试使用下面的 bash 命令,但对于 sed 或其他东西来说似乎太多了:它只是将文本插入第一行,而不是我正在调用的变量的行。
for ((num=1; num<=66; num++)) ; do
queryline=$(sed -n "${num}p" "file2.txt")
sed -i "${num}i ${queryline}" "file1.txt"
done
(我也试过了)
for ((num=1; num<=66; num++)) ; do
numa=$((num + 1))
queryline=$(sed -n "${num}p" "file2.txt")
sed -i "${numa}i ${queryline}" "file1.txt"
done
我认为使用 python (3.4) 可能会更容易,但我不知道该怎么做。请任何人提供提示?
【问题讨论】:
-
每次都以追加模式打开合并文件。并复制第一个文件插入所有内容。要复制第二个文件,请转到每一行的末尾并从第二个文件追加一行。并且为了复制第三个文件,转到每第二行的末尾并从第三个文件中追加一行。同样,您可以分别在第三和第四的末尾复制第四和第五。
-
@gniourf_gniourf
past在这种情况下是最简单和最好的解决方案。如果 OP 喜欢对数据进行更多测试,这可能不是最好的。但无论如何,您应该将其作为解决方案发布,而不是作为评论。