我有个问题。我想用另一个文件的内容替换文件的一行。
在我的第一个文件中,我有这一行:"#Content"
我想用文件的内容替换它content.xml
。
谢谢。
这可以工作:
your_new_text=$(cat content.xml | sed 's/[^-A-Za-z0-9_]/\\&/g')
sed -i "s/#Content/$your_new_text/" your_file
它将文本从content.xml
变量中$your_new_text
。然后 sed 完成工作:-i
代表在文件中替换,查找#Content
并替换为里面的文本$your_new_text
。
请注意,它必须被包裹起来"
才能工作。
这也可以工作,不是很有效 - 但对内容不敏感。
cat <(sed '/#Content/,$d' < FILE ) content.xml <(sed '1,/#Content/d' < FILE) > NEWFILE
所以,连接