sedを見回してきました 特定の行のファイルにテキストを追加するコマンド。
これは、1行目以降にテキストを追加する場合に機能します。
sed '1 a
ただし、前に追加したい 1行目:
sed '0 a
しかし、私はこのエラーを受け取ります:invalid usage of line address 0 。
何か提案はありますか?
承認された回答:
sedを使用する の挿入(i )前の行にテキストを挿入するオプション。
sed '1 i
質問の作成者の更新:
ファイルを所定の位置で編集するには、GNU sedを使用します – -iを追加する必要がありました オプション:
sed -i '1 ianything' file
また、構文
sed -i '1i text' filename
GNU以外のsedの場合
バックスラッシュ1iの直後にリターンキーを押す必要があります first_line_textの後 :
sed -i '1i
first_line_text
'
また、GNU以外のsedもあることに注意してください。 実装(たとえば、macOSの実装) require -iの引数 フラグ(-i ''を使用 GNU sedと同じ効果を得るには 。
sedの場合 -iをサポートしない実装 まったく、このオプションなしで実行しますが、出力を新しいファイルにリダイレクトします。次に、古いファイルを新しく作成したファイルに置き換えます。