※当サイトはリンクに広告ページが含まれている場合があります
みんな大好き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
【無料】効率的に人事労務の情報を入手しませんか?
- 毎年のように改正される労働法令への対応に頭を悩ませている
- 総務や経理などの他の業務を兼務しているので、人事労務業務だけに時間を割けない
といった悩みを抱える企業の経営者・人事労務担当者向けに、公開型のブログでは書けない、本音を交えた人事労務に関する情報・ノウハウ、時期的なトピックに関するメールマガジンを「無料」で配信しています。
過去の配信分は公開しません。
情報が必要な方は、いますぐ以下のフォームから購読の登録をしてください。購読して不要と思ったら簡単に解除できますのでご安心ください。