使用すると、MAC OS X でsed
次のエラーが発生します。
sed -i '' '/user_pref("mail.identity.id1.reply_on_top", 1);/ a\
user_pref("mail.identity.id1.sig_file", "/Users/nicolas.hulot/Library/Mail/V2/MailData/Signatures/signature.html");
user_pref("mail.identity.id1.sig_file-rel", "[ProfD]../../../Mail/V2/MailData/Signatures/signature.html");
' ~/Library/Thunderbird/Profiles/*.default/prefs.js
2行目、3行目を別の文字列に置き換えれば'abcdefgh...'
大丈夫ですが、特殊文字がたくさん入ったこの文字列はただ間違っていますね。
発生するエラーは次のとおりです。
sed: 3: "/user_pref("mail.identi ...": invalid command code u
答え1
pend for forはnewline
問題を引き起こすので、バックスラッシュを使用するか、sed
記号に置き換える必要があります。a
newline
\n
sed -i '' '/user_pref("mail.identity.id1.reply_on_top", 1);/ a\
user_pref("mail.identity.id1.sig_file", "/Users/illias.seba/Library/Mail/V2/MailData/Signatures/signature.html");\
user_pref("mail.identity.id1.sig_file-rel", "[ProfD]../../../Mail/V2/MailData/Signatures/signature.html");\
' ~/Library/Thunderbird/Profiles/*.default/prefs.js
または
sed -i '' '/user_pref("mail.identity.id1.reply_on_top", 1);/ a\
user_pref("mail.identity.id1.sig_file", "/Users/illias.seba/Library/Mail/V2/MailData/Signatures/signature.html");\nuser_pref("mail.identity.id1.sig_file-rel", "[ProfD]../../../Mail/V2/MailData/Signatures/signature.html");\n' ~/Library/Thunderbird/Profiles/*.default/prefs.js