mah*_*ood 26 bash sed wildcard
我想用通配符替换字符串,但它不起作用.
字符串看起来像"some-string-8"
我写
sed -i 's/string-*/string-0/g' file.txt
Run Code Online (Sandbox Code Playgroud)
但输出是
some-string-08
Run Code Online (Sandbox Code Playgroud)
tom*_*tom 38
星号(*)表示"前一项的零或更多".
如果要匹配任何单个字符使用
sed -i 's/string-./string-0/g' file.txt
Run Code Online (Sandbox Code Playgroud)
如果要匹配任何字符串(即任何单个字符零次或多次)使用
sed -i 's/string-.*/string-0/g' file.txt
Run Code Online (Sandbox Code Playgroud)