14
我想用通配符替换字符串,但不起作用。使用带通配符的SED
字符串看起来像 “一些字符串-8”
我写
sed -i 's/string-*/string-0/g' file.txt
但输出
some-string-08
我想用通配符替换字符串,但不起作用。使用带通配符的SED
字符串看起来像 “一些字符串-8”
我写
sed -i 's/string-*/string-0/g' file.txt
但输出
some-string-08
星号(*)的意思是“零个或更多的前一项“。
如果你想匹配任何单个字符使用
sed -i 's/string-./string-0/g' file.txt
如果你想匹配任何字符串(即任何单个字符零次或多次)使用
sed -i 's/string-.*/string-0/g' file.txt
所以,概念正则表达式中的“通配符”有点不同。为了匹配“任何字符”,你可以使用“。”。 “*”修饰符表示可以匹配任意次数。
好吧,也许我的问题是不完整的....你的命令适用于这个fien。但是,如果我有'some-string-8 -x --command acommand',执行该命令的输出是'some-string-0'。它会删除之后的所有字符。我想'some-string-0 -x --command acommand' – mahmood 2012-02-08 07:21:06
确定第一个命令是我想要的 – mahmood 2012-02-08 07:23:10
如果您希望在替换字符串中使用通配符,该怎么办? 例如:将'AAA。* BBB'替换为'CCC。* DDD' – user2561747 2015-12-01 23:44:02