我正在尝试按标题说明:将B.txt中的所有文本添加到A.txt中的某个特定位置/部分。 我试图用cat和sed完成这个,但我仍然是这些工具的新手,不知道我的目标是否可以用这些完成。
这是一个更直观的命令行思路:
cat A.txt | sed "s/some_part_in_A/some_part_in_A+contents_of_B.txt/" > C.txt
或没有猫...
sed "s/some_part_in_A/some_part_in_A+contents_of_B.txt/" A.txt > C.txt
或者别的东西......
连接A和B得到C.txt然后以某种方式“移动”C的B部分(它将在底部)到A(C)的某个部分。希望听起来不会太混乱lol
我错过了什么?我需要使用一些额外的工具吗?变量怎么样?以某种方式将B.txt的内容弹出到变量中,然后在sed中使用该变量? 对不起,我有点像这样的菜鸟,我只是想用一些常识来解决这个问题。一些指导会有所帮助。提前谢谢!
编辑: 的解
仅匹配 ONE LINE ,然后从文件中插入文字:
sed '/some_part_in_A/rB.txt' A.txt > C.txt
感谢Beta!
匹配两条线(或更多条),然后从文件中插入文字:
sed "/line_one/N;/line_one\n.line_two/rB.txt" A.txt > C.txt
注意,首先说明line_one然后是N然后是line_one,然后是\ n(并且需要一个。或者wutever来捕获\ n和line_two之间的任何内容,在我的例子中是TAB char)然后是line_two,最后是r到“读取“然后将B.txt的内容插入A.txt,但将结果输出到C.txt
答案 0 :(得分:3)
sed '/some_part_in_A/rB.txt' A.txt > C.txt