Work Life Fun

仕事も人生も楽しむ社労士

Macのsedでエラー「command i expects \ followed by text」が出た場合の解決法

※当サイトはリンクに広告ページが含まれている場合があります

みんな大好きbashの話、といっても、現在のmacOSのデフォルトは、bashからzshに変更されているので、以下はzshを用いる場合の解説になります。

Macのsedでエラー「command i expects \ followed by text」

特定の行に行数を明示して文字列を挿入する方法(sed)」の記事のとおり、人事労務の実務では「sed」が役立つ場面が結構あります。

Unixの歴史を少しでも知っている人なら、MacはBSD系、LinuxはGNU系というのは有名ですが、実際に利用しているとその違いを感じることはほぼありません。

ただ、「sed」を用いる場面で、まさにこの両者の挙動の違いにハマりました。

具体的には、Macのターミナルで、2行目に「hoge」を挿入する以下のコマンドを打つと、

$ sed -e "2i hoge" test.txt
command i expects \ followed by text

と怒られます。そのため、以下の参考記事に従い、まずはgnu-sedをインストールします。

参考:sedでcommand i expects \ followed by textが出た

Macではsedでなくgsed

以下のコマンド、「sed」ではなく「gsed」を使えば、問題解決です。

$ gsed -e "2i hoge" test.txt
【無料】効率的に人事労務の情報を入手しませんか?
  • 毎年のように改正される労働法令への対応に頭を悩ませている
  • 総務や経理などの他の業務を兼務しているので、人事労務業務だけに時間を割けない

といった悩みを抱える企業の経営者・人事労務担当者向けに、公開型のブログでは書けない、本音を交えた人事労務に関する情報・ノウハウ、時期的なトピックに関するメールマガジンを「無料」で配信しています。

過去の配信分は公開しません。

情報が必要な方は、いますぐ以下のフォームから購読の登録をしてください。購読して不要と思ったら簡単に解除できますのでご安心ください。


up_line