我需要用文件
替换文件中的一行#Banner none
到
Banner /etc/motd
我试过了:
sed -i "s/^#Banner none/Banner /etc/motd/" /root/testfile.sh
哪个不行。你知道我怎么能做我想做的事吗?
答案 0 :(得分:3)
由于替换中有斜杠,因此应使用除斜线之外的其他分隔符,例如逗号:
sed -i "s,^#Banner none,Banner /etc/motd/," /root/testfile.sh
否则,您必须转义路径中的斜杠:
sed -i "s/^#Banner none/Banner \/etc\/motd/"
答案 1 :(得分:2)
您需要逃避斜线或使用与" /"不同的分隔符。
可以使用
sed -i "s/^#Banner none/Banner \/etc\/motd/" /root/testfile.sh
或
sed -i "s,^#Banner none,Banner /etc/motd," /root/testfile.sh