我想用终端
中的sed命令替换IP地址sed -i "2 s=http://*:8000=http://example.com=g" file.txt;
*可以改变的地方。我以为我可以用*替换http://和:8000之间的任何字符,但它的行为就像纯文本一样。
我如何检查包含http://和:8000部分的字符串,其中包含任何内容,并将其替换为http://example.com?
答案 0 :(得分:1)
*
是一个与0个或多个要量化的模式匹配的量词。
您要匹配/
和空格以外的任意数量的字符,即[^/[:space:]]*
。
使用
sed -i "2 s=http://[^/[:space:]]*:8000=http://example.com=g" file.txt;
<------------>