GNU/Linux >> Linux の 問題 >  >> Linux

ファイルの最初の行の前にテキストを挿入する方法は?

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


Linux
  1. Linuxでのテキストファイルの少ないビューアの高度な使用

  2. sedを使用してコマンドラインでテキストを操作する

  3. Vimの各行の先頭にテキストを挿入する方法

  1. ファイルの行をループする方法は?

  2. コマンドへの引数としてテキストファイルの各行を解析する方法は?

  3. コマンドSed‘1!g; h; $!d’は、ファイルの内容をどのように逆にしますか?

  1. sed を使用して Linux でテキスト ファイルの任意の行の最初の 5 文字を削除する

  2. bashスクリプトは、ファイルの最初の行にテキストを追加します.

  3. Bashを使用してテキストファイルの最後の行を変数に読み込む方法は?