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

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

この sed コマンドは 123 を追加します ファイルの最初の行の終わりまで。

sed ' 1 s/.*/&123/' yourfile.txt

また

sed '1 s/$/ 123/' yourfile.txt

結果を同じファイルに追加するには、 -i を使用する必要があります スイッチ:

sed -i ' 1 s/.*/&123/' yourfile.txt

これは、/etc/passwd の最初の行に「ok」を追加するソリューションです。 、少し「調整」することで、これをスクリプトで使用できると思います:

$ awk 'NR==1{printf "%s %s\n", $0, "ok"}' /etc/passwd
root:x:0:0:root:/root:/bin/bash ok

編集するには ファイル、ed を使用できます 、標準エディター:

line=' bcm2708.w1_gpio_pin=20'
file=/boot/cmdline.txt
if ! grep -q -x -F -e "$line" <"$file"; then
    ed -s "$file" < <(printf '%s\n' 1 a "$line" . 1,2j w q)
fi

ed のコマンド:

  • 1 :1 行目に移動
  • a :追加 (これは現在の行の後に挿入されます)
  • 挿入モードになり、$line の展開を挿入しています
  • . :挿入モードを停止
  • 1,2j 1行目と2行目に参加
  • w :書く
  • q :やめる

Linux
  1. Bashスクリプト:ファイルがテキストファイルかどうかを確認しますか?

  2. 一致したテキストを行に追加しますか?

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

  1. bashを使用して、ファイルの各行の先頭にある空白を削除します

  2. ファイルにテキストを追加するにはどうすればよいですか?

  3. bash の改行でテキストをエコーする

  1. Bashスクリプトをファイルに接続できますか?

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

  3. テキストファイルから最初の数行を効率的に削除しますか?