如何插入文件的内容线路赛后当逃脱反斜杠
我试图使用的代码,我发现这里:Insert contents of a file after specific pattern match如何插入文件的内容线路赛后当逃脱反斜杠
然而,当我添加一个反斜杠代码,这是行不通的。那么,我按照这里的说明:Slash and backslash in sed更改sed
中的分隔符。但是,当我这样做时,插入(应该是几行)会变成数千。
这里是我的尝试:
sed ':<\tag>: r file1.txt' file2.txt
例子:
FILE1.TXT
Hello World 1
Hello World 2
FILE2.TXT:
<thanks>
<tag>
<example>
<new>
<\new>
<\example>
<\tag>
<\thanks>
所需的输出:
<thanks>
<tag>
<example>
<new>
<\new>
<\example>
<\tag>
Hello World 1
Hello World 2
<\thanks>
如果你可以请帮我在一行匹配后插入文件内容,同时转义一个反斜杠,我真的很感激它。
试试这个
sed '/<\\tag>/r file2' file1
我想你交换文件1和文件2。
请尝试使用以下awk一次。
awk '/<\\tag>/{print;system("cat File2.txt");next} 1' File.txt
要将输出保存到File.txt本身,以下内容可能会对您有所帮助。
awk '/<\\tag>/{print;system("cat File2.txt");next} 1' File.txt > temp_file && mv temp_file File.text
This works。Thanks Ravinder – DomainsFeatured
嘿Ravinder,我怎么修改它,以便它插入一行之前? – DomainsFeatured
@DomainsFeatured,请检查我的第二个回答并让我知道它是怎么回事 – RavinderSingh13
相同的答案您的其他问题(见https://*.com/a/46720002/1745001),只打印新纪录之后,而不是在目标前行:
awk 'FNR==NR{n=n ORS $0; next} /<\\tag>/{$0=$0 n} 1' file1 file2
我强烈推荐这本书有效AWK编程,第4版,由阿诺德罗宾斯。
听起来很棒,请试试这个,再次感谢Ed :-) ....并且,它的工作原理! – DomainsFeatured
我做了交换file1和2.现在修复。但是,我没有得到那个输出:-( – DomainsFeatured
你还需要用另一个反斜杠来转义反斜线。 – karakfa
是的,我已经试过''和''前两个都不适合我 – DomainsFeatured