我在centos服务器上有一个脚本,我使用VIM在服务器上编写了脚本。该脚本用于编辑配置文件。当我在编辑后检查配置文件时,每行的末尾都有一个未编辑的^ M.编辑的行很好。
cat hibernate.properties |
sed -i.bk \
-e 's%\(^hibernate\.connection\.url\=ristor:jdbc:postgresql:\/\/127\.0\.0\.1/\).*%\'1$dbname'%' \
-e 's/\(^hibernate\.connection\.username\=\).*/\'1$dbuser'/' \
-e 's/\(^hibernate\.connection\.password\=\).*/\'1$pws'/' hibernate.properties
这是用于编辑配置文件的代码。为什么将^ M放在未编辑的每一行的末尾?
答案 0 :(得分:0)
答案 1 :(得分:0)
这不太可能添加\r
,更像是文件已经,但dos
检测到vim
文件格式。您的脚本实际上已从其触摸的每一行中删除,而vim
不再考虑文件dos
,因此会显示仍保留的回车符。一旦删除他们(%s/<Ctrl-V><Ctrl-M>$//
中vim
应该这样做),不太可能再次发生。