【发布时间】:2020-12-09 21:15:06
【问题描述】:
我有一个包含几行的文件。
Lines.txt
value1
value2
value3
我想将文件中的行追加到另一个文件中的关键字之后。
另一个文件.txt
NotTheKeyWord SomeOtherStuff SomeOtherStuff
NotTheKeyWord THEKEYWORD SomeOtherStuff SomeOtherStuff
我认为sed 有我需要的东西,但我在弄清楚如何将文本插入行中间时遇到问题。
我想要的结果是:
另一个文件.txt
NotTheKeyWord SomeOtherStuff SomeOtherStuff
NotTheKeyWord THEKEYWORD value1 value2 value3 SomeOtherStuff SomeOtherStuff
【问题讨论】:
-
我不认为“文件内”替换会起作用。您必须将结果写入某个临时文件,然后将临时文件的内容写回“AnotherFile.txt”。使用
sed之类的sed -e s/THEKEYWORD/THEKEYWORD value1 value2 value3/应该可以工作;现在你必须考虑如何从文件“Lines.txt”的内容中创建这个命令行。就个人而言,如果我是你,我更喜欢用“真正的”编程语言编写一些程序。 -
是的,我更喜欢使用我更熟悉的语言。在这种情况下我没有那个选项......而且我的 bash 知识已经生疏了。但我会试着像你说的那样从不同的角度来看待它。