当前位置: 首页 > 面试题库 >

特定模式匹配后插入文件内容

太叔涵亮
2023-03-14
问题内容

我想以特定的模式匹配插入文件内容。以下是一个示例:在和之间添加file2.txt内容。file1.txt``<tag>``</tag>

file1.txt

<html>
<body>
<tag>
</tag>
</body>
</html>

file2.txt

Hello world!!

我尝试了以下操作,但没有成功。

# sed "/\<tag\>/ {
h
r file2.txt
g
N
}" file1.txt

<html>
<body>
Hello World!!
<tag>
</tag>
</body>
</html>

问题答案:

尝试以下命令:

sed '/<tag>/ r file2.txt' file1.txt

它产生:

<html>
<body>
<tag>
Hello world
</tag>
</body>
</html>

编辑 以解释命令为何无法按需运行:该r filename命令在当前循环的末尾或读取下一个输入行时添加其内容。而且您正在使用的N命令不会打印任何内容,但会读取下一行,因此在那时Hello world打印,然后再打印正常的行。

在我的情况下,它以读取行<tag>,然后结束循环,因此打印行及其后的文件内容并进行读取直到结束。



 类似资料:
  • 问题内容: 我正在使用Python,并且想在遇到句号(句号)或空格之前匹配所有单词。 目前,我正在使用: 上面的代码不匹配任何内容。我需要作为我的输出。 问题答案: 如果您只是从字符串中获取子集,我不明白为什么要使用正则表达式。 运作方式相同: 例: 正则表达式速度慢,设计笨拙且难以调试。肯定有occassions使用它,但如果你只是要提取的文本和,然后我不认为是这些场合之一。 参见:https

  • dir=“某物”\temp。 我是新来的,任何帮助都很感激。我认为这是字符转义…但我不确定,我想使用正则表达式,但我想我会遇到同样的问题。 预期 C:\\users\\admin\\appdata\\local\\ dir=c:\\users\\admin\\appdata\\local\\temp

  • 通配符 # glob_asterisk.py import glob for name in sorted(glob.glob('dir/*')): print(name) # glob_subdir.py import glob print('Named explicitly:') for name in sorted(glob.glob('dir/subdir/*')):

  • 我对我的C#有点生疏,我正试图找出一个在SSIS中使用的简单脚本,该脚本将梳理文本文件,并基于特定的模式集和所述模式的特定序列提取值。 我需要指定来自此文本输入的值的各个行,以传递到文本文件作为输出。因此合同号、银行号等是头部,每一行都是文件中的包装值。我只需要能够梳理和ID行以获得输出,并认为正则表达式可以完成这一任务,但我不确定如何将类似的内容放在一起。是否可以通过查找特定序列中的值模式来标识

  • 本文向大家介绍Rust 绑定模式匹配,包括了Rust 绑定模式匹配的使用技巧和注意事项,需要的朋友参考一下 示例 可以使用@以下方式将值绑定到名称: 这将打印:            

  • 类似定位器参数,文本模式是另一种常用的 Selenium 命令参数。需要使用文本模式的命令,例如:verifyTextPresent, verifyTitle, verifyAlert, assertConfirmation, verifyText, verifyPrompt。上面已经提到,LinkText 定位器可使用文本模式。文本模式使用特殊字符来模糊匹配预期的文本,而不必准确的描述该文本。