regex - 使用 sed 删除变量中指定的 IP 地址

标签 regex sed

我在 txt 文件中有 IP:PORT 列表,它们是代理。 我有一个案例,如果它不起作用(代理),我会将其删除

sed -i "/$proxy[^0-9]/d" proxy.txt

但是它不起作用。 我正在尝试删除变量 $proxy 中指定的 IP:PORT (包含该 IP:PORT 的行),例如 78.102.43.251:8080与 sed 无论我尝试什么,我最终都会删除多行,而不是仅删除变量中指定的一行。 网上除了IP:PORT什么也没有 谢谢

proxy.txt的内容

79.155.89.121:8080
36.78.131.82:3128
115.84.178.37:3128
183.88.112.146:8080
205.237.163.78:80
162.243.202.25:80
186.219.106.4:8080
154.72.192.154:8080

$proxy 变量定义如下:

proxy.txt | while read -r proxy; do

最佳答案

我的机器上有 FreeBSD,这个命令对我有用:

proxy="152.16.12.15:1515"
sed -i -e "s/$proxy//g" proxy.txt

上面的答案将 $proxy 字符串替换为空白。它会生成不需要的空行。

工作答案(来自评论)是:

sed -i.bak "s/^$proxy/d" file

关于regex - 使用 sed 删除变量中指定的 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41739412/

相关文章:

javascript - 使用正则表达式的谷歌地图链接验证

linux - 数字数组之间有两个额外的空间

python - 正则表达式匹配中 [ab] 和 (a|b) 的区别?

regex - 在将其转换为 double 之前从解析的字符串中删除逗号

sed - 使用 sed 替换十六进制字符串

sed - 使用 sed 删除 '#' 之后的字符串

linux - 如何使 while 读取更快(如何使用 grep 代替)

linux - 在标题中搜索模式并打印整列

python - 正则表达式替换第一个和最后一个字符

JQuery *(所有元素)选择器,不包括具有某些类的跨度标签。我怎样才能做到这一点?