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