0

この行を一連のファイルの最後に追加しようとしています:

<%= 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 が何を参照しているのかよくわかりません。これは、ファイルではないようであり、(私が思うに) 文字列全体も読み取っているためです。ヘルプ?

4

3 に答える 3

0

これはうまくいくかもしれません(GNU sed):

sed -i '$a\<%= render '\''school_guide_menu'\'' %>' school_guide*
于 2012-07-22T07:54:56.267 に答える
0

を使用した片道sed-iサフィックス付きのスイッチを使用して、.bakファイルをインプレースで変更し、バックアップを作成します。

sed -i.bak -e "$ a\<%= render 'success_guide_menu' %>" school_guide*
于 2012-07-21T22:38:33.880 に答える
0

bash の 1 行のスクリプトではないのはなぜですか?

for file in $(ls school_guide*); do echo "<%= render 'success_guide_menu' %>" >> $file; done
于 2012-07-21T21:22:52.217 に答える