用 sed 在行尾附加单词

Zam*_*ues 7 grep sed text-processing

我在文件中有如下代码块:

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
Run Code Online (Sandbox Code Playgroud)

我想搜索所有包含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
Run Code Online (Sandbox Code Playgroud)

我正在使用以下命令来实现这一点:

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
Run Code Online (Sandbox Code Playgroud)

但我可以看到status=D正在换行。我不想为此换行。它应该附加一个 ' '(空格)。

Arc*_*mar 19

尝试

sed  -e '/tc_/s/$/ status=D/'
Run Code Online (Sandbox Code Playgroud)

在哪里

  • /tc_/ 在找到 tc_ 的线上,
  • s 代替,
  • /$ 行结束,
  • / status=D/ 通过这个字符串

如果看起来没问题,请添加-i到就地编辑。