gpt4 book ai didi

linux - 在匹配前一行插入文件内容,同时转义反斜杠

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:45:39 25 4
gpt4 key购买 nike

我最近问了一个类似的问题How To Insert File Contents After Line Match While Escaping Backslash才意识到我需要做相反的事情。

使用该问题的代码,我尝试过:

sed '/<\\tag>/i file2' file1

第二次尝试:

awk '/<\\tag>/{print;system("cat File2.txt");before} 1' File1.txt

但是,我无法让它在匹配前插入一行。

例子:

文件1.txt

Hello <[World!]> 1
Hello <[World!]> 2

文件2.txt:

<thanks>
<tag>
<example>
<new>
<\new>
<\example>
<\tag>
<\thanks>

期望的输出:

<thanks>
<tag>
<example>
<new>
<\new>
<\example>
Hello <[World!]> 1
Hello <[World!]> 2
<\tag>
<\thanks>

如果你能帮我在行匹配后插入文件内容同时转义反斜杠,我将不胜感激。

最佳答案

$ awk 'FNR==NR{n=n $0 ORS; next} /<\\tag>/{$0=n $0} 1' file1 file2
<thanks>
<tag>
<example>
<new>
<\new>
<\example>
Hello <[World!]> 1
Hello <[World!]> 2
<\tag>
<\thanks>

关于linux - 在匹配前一行插入文件内容,同时转义反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46719414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com