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

Sedの行末に単語を追加しますか?

この質問にはすでに回答があります :パターンが一致したときに行末にテキストを追加するにはどうすればよいですか?

(5つの回答)
4年前に閉鎖されました。

ファイルに次のようなコードブロックがあります:

BalancerMember http://snode1:80 min=1 max=1000 loadfactor=1  timeout=30 keepalive=on route=tc_snode1
BalancerMember http://snode2:80 min=1 max=1000 loadfactor=1  timeout=30 keepalive=on route=tc_snode2

tc_が含まれるすべての行を検索したい キーワードを追加し、status=Dを追加します それらの行の終わりに。したがって、上記のエントリは次のようになります

BalancerMember http://snode1:80 min=1 max=1000 loadfactor=1  timeout=30 keepalive=on route=tc_snode1 status=D
BalancerMember http://snode2:80 min=1 max=1000 loadfactor=1  timeout=30 keepalive=on route=tc_snode2 status=D

これを実現するために、次のコマンドを使用しています。

sed -i '/tc_/a status=D' app.conf

しかし、私はstatus=Dを見ることができます 改行の後にあります。このための改行は必要ありません。 「」を追加する必要があります ‘(スペース)。

承認された回答:

試してみてください

sed  -e '/tc_/s/$/ status=D/'

ここで

  • /tc_/ tc_が見つかったオンライン
  • s 代用、
  • /$ 行の終わり、
  • / status=D/ この文字列で

問題がない場合は、-iを追加します その場で編集します。


Linux
  1. スマートクォートをLinuxsedコマンドに置き換えます

  2. Sedテキストエディタの使い方を学ぶ

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

  1. screenieを使用したコマンドラインでのマルチタスク

  2. Vimでファイルの最初または最後に移動する[クイックヒント]

  3. 各行末の空白の各文字を「_」に置き換えます

  1. コマンドラインでsortを使用してソートする

  2. 行の範囲を行の範囲(sedまたはその他)に置き換えますか?

  3. Wcで各行の文字を数えますか?