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
をサポートしない実装 まったく、このオプションなしで実行しますが、出力を新しいファイルにリダイレクトします。次に、古いファイルを新しく作成したファイルに置き換えます。