我需要从文件(/ home / test)中删除波纹管模式,我的脚本没有删除它。请让我知道如何通过模式匹配进行删除。
要删除的模式:
'user.err @[10.209.10.73]'
文件:
root@mystique-node:~# cat /home/test
user.err @@[10.209.10.71]
user.err @@[10.209.10.72]
user.err @[10.209.10.73]
root@mystique-node:~#
脚本:
root@mystique-node:~# cat /home/test1.sh
aa=`cat /home/test|grep "10.209.10.73"`
sed -i "/$aa/d" /home/test
root@mystique-node:~#
答案 0 :(得分:1)
编辑: :要将ip用作参数,可以使用以下命令(仅针对给定样本进行测试)。
awk -v check="10.209.10.73" '$0 !~ check' Input_file
如果要将输出保存到Input_file本身,也可以在上面的命令中使用> temp_file && mv temp_file Input_file
。
尝试对.
和[
,]
进行转义以删除其特殊含义。跟随sed
可能会对您有所帮助。
sed '/\[10\.209\.10\.73\]/d' Input_file