Awk 批量更新文本文件中的行

Awk 批量更新文本文件中的行,awk,sed,Awk,Sed,我正在寻找一个单行程序(理想情况下)来更改以下所有实例: # dropped packets chart for kvm890.0 = auto 到 我应该注意到“kvm890.0”的变化,例如: # dropped packets chart for kvm508.0 = auto # dropped packets chart for kvm864.0 = auto # dropped packets chart for kvm357.0 = auto # dropped packets

我正在寻找一个单行程序(理想情况下)来更改以下所有实例:

# dropped packets chart for kvm890.0 = auto

我应该注意到“kvm890.0”的变化,例如:

# dropped packets chart for kvm508.0 = auto
# dropped packets chart for kvm864.0 = auto
# dropped packets chart for kvm357.0 = auto
# dropped packets chart for kvm822.0 = auto
# dropped packets chart for kvm785.0 = auto
任何想法都将不胜感激。

只需使用sed:

sed -i 's/STRING_TO_REPLACE/NEW_STRING/g' filename

将字符串分为两部分,捕获第一组(
\1
)中的已知部分,并将所有其他部分替换为字符串

sed  's/\(dropped packets chart for.*= \).*/\1no/g' textfile
# dropped packets chart for kvm508.0 = no
# dropped packets chart for kvm864.0 = no
# dropped packets chart for kvm357.0 = no
# dropped packets chart for kvm822.0 = no
# dropped packets chart for kvm785.0 = no

在这里,当行中出现字符串的丢弃数据包图表时,只需将所有的
自动
更改为

sed '/dropped packets chart for/ s/\<auto\>/no/g' textfile
# dropped packets chart for kvm508.0 = no
# dropped packets chart for kvm864.0 = no
# dropped packets chart for kvm357.0 = no
# dropped packets chart for kvm822.0 = no
# dropped packets chart for kvm785.0 = no
sed'/drop packets图表,用于/s/\/no/g'文本文件
#kvm508.0的丢弃数据包图表=否
#kvm864.0的丢弃数据包图表=否
#kvm357.0的丢弃数据包图表=否
#kvm822.0的丢弃数据包图表=否
#kvm785.0的丢弃数据包图表=否

欢迎加入SO,On SO,我们鼓励用户添加他们为解决自己的问题所付出的努力,因此请将他们添加到您的问题中,然后让我们知道。您好,如果下面的任何答案对您有任何帮助,请接受或投票。非常感谢。
sed '/dropped packets chart for/ s/\<auto\>/no/g' textfile
# dropped packets chart for kvm508.0 = no
# dropped packets chart for kvm864.0 = no
# dropped packets chart for kvm357.0 = no
# dropped packets chart for kvm822.0 = no
# dropped packets chart for kvm785.0 = no