我正在尝试将此行添加到一组文件的末尾:
<%= render 'success_guide_menu' %>
所有这些文件都以'school_guide'开头。
我尝试使用以下sed脚本:
sed "
$ a\
<%= render 'school_guide_menu' %>
" school_guide*
但我收到一条错误
sed: 1: "$ a\<\%\= render 'schoo ...": extra characters after \ at the end of a command
我试图逃避角色没有成功,并且我不确定sed在这个错误中指的是什么,因为它似乎不是文件而且(我认为)它也在读取整个字符串。帮助
答案 0 :(得分:0)
为什么不用bash单行脚本?
for file in $(ls school_guide*); do echo "<%= render 'success_guide_menu' %>" >> $file; done
答案 1 :(得分:0)
使用sed
的一种方法。我使用带有-i
后缀的.bak
开关来就地修改文件并创建备份。
sed -i.bak -e "$ a\<%= render 'success_guide_menu' %>" school_guide*
答案 2 :(得分:0)
这可能适合你(GNU sed):
sed -i '$a\<%= render '\''school_guide_menu'\'' %>' school_guide*