如何将多个较小文件中的文本插入主文件的各个位置?

时间:2015-01-14 12:24:25

标签: linux shell text nested

我正在学习使用ubuntu shell将学术笔记编译成更长的文档。说如果我有一个主文件document.txt,我有一个目录,我想插入各个章节的文本(每个章节都包含在自己的文件中),你会怎么做?

即。说我有一个名为" article"的目录。在其中,我有document.txt chap1.txt chap2.txt chap3.txt

和document.txt内部,

我有"文字"这里 我想在这里插入chap1.txt 我有其他"文字"这里 我想在这里插入chap2.txt 等

你是怎么做到的。 我只是一个初学者。一种易于理解的方法是最好的。

谢谢!

1 个答案:

答案 0 :(得分:0)

有很多方法可以做到;最简单的一个就是Perl。

#!/usr/bin/perl -p
while (s/(.*?)"text"//)         # seek&delete up to "text", memorize part before
{
    print $1;                   # output part of line before the matched "text"
    open IN, "chap".++$i.".txt";# open the next chap$i.txt file
    print <IN>;                 # output the entire chapter
    close IN
}

如果使用document.txt作为参数调用此脚本,它会将带有插入章节的文档输出到标准输出,您可以将其重定向到另一个文件。