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

ファイルの先頭にテキストを挿入する方法は?

ファイルが 1 行のみの場合は、次を使用できます:

sed 's/^/insert this /' oldfile > newfile

複数行の場合。次のいずれか:

sed '1s/^/insert this /' oldfile > newfile
sed '1,1s/^/insert this /' oldfile > newfile

行の範囲を行う方法を理解できるように、後者を含めました。これらはどちらも、影響を受ける行の開始行マーカーを挿入したいテキストに「置き換え」ます。することもできます (sed 十分に現代的です) 使用:

sed -i 'whatever command you choose' filename

インプレース編集を行います。


ファイルの先頭に行を追加する場合は、\n を追加する必要があります 上記の最良の解決策の文字列の最後に。

最善の解決策は文字列を追加することですが、文字列を使用すると、ファイルの末尾に行が追加されません。

sed -i '1s/^/your text\n/' file

サブシェルを使用:

echo "$(echo -n 'hello'; cat filename)" > filename

残念ながら、コマンド置換はファイルの末尾にある改行を削除します。それらを維持するために使用できるもの:

echo -n "hello" | cat - filename > /tmp/filename.tmp
mv /tmp/filename.tmp filename

グループ化もコマンド置換も必要ありません。


sed アドレスで操作できます:

$ sed -i '1s/^/<added text> /' file

この魔法の 1s は何ですか あなたはここですべての答えを見ますか?行アドレス指定!.

<added text> を追加したい 最初の 10 行で?

$ sed -i '1,10s/^/<added text> /' file

または Command Grouping を使用できます :

$ { echo -n '<added text> '; cat file; } >file.new
$ mv file{.new,}

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

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

  3. sed のようなテキストを python に置き換えるにはどうすればよいですか?

  1. サブプロセス呼び出しをテキスト ファイルにパイプするにはどうすればよいですか?

  2. sed を使用してファイルの最後の n 行を削除する方法

  3. ファイルの各行の先頭に文字列を追加するにはどうすればよいですか?

  1. ファイル内の文字列を置き換える方法は?

  2. ファイルの最後に改行を追加するにはどうすればよいですか?

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