脚本 Shell:从文件中删除一行

脚本 Shell:从文件中删除一行

这是我的文件“test.txt”:

  172.16.68.4
  172.16.68.3

这是我的脚本:

#!/bin/sh
ip="172.16.68.4"
sed '/$ip/d' $1

请问,我想从测试文件中删除一行,但是没有用。有什么想法吗?

非常感谢您的帮助。

此致。

答案1

可能的解决方案:

#!/bin/sh
ip="172.16.68.4"
sed -i "/\b\($ip\)\b/d" $1

答案2

您唯一缺少的两件事是:

  • -i命令中的标志sed

    -i[SUFFIX], --in-place[=SUFFIX]
        edit files in place (makes backup if SUFFIX supplied)
    
  • 您正在使用变量,因此应使用双引号 ( ") 以便扩展变量。

所以你的命令应该是:

sed -i "/$ip/d" $1

答案3

使用双引号让shell扩展变量,你可以看看这里:

https://stackoverflow.com/questions/5410757/delete-a-line-containing-a-specific-string-using-sed

相关内容