我有个问题。我想用另一个文件的内容替换文件的一行。
在我的第一个文件中,我有这一行:"#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
所以,连接