我有字符串
file="this-is-a-{test}file"
Run Code Online (Sandbox Code Playgroud)
我想{test}从这个字符串中删除.我用了
echo $file | sed 's/[{][^}]*//'
Run Code Online (Sandbox Code Playgroud)
但是这让我感动了
this-is-a-}file
Run Code Online (Sandbox Code Playgroud)
我怎么能删除}?
谢谢
也可以尝试这个bash only oneliner作为替代方案:
s="this-is-a-{test}file"
echo ${s/\{test\}/}
Run Code Online (Sandbox Code Playgroud)
您可以使用sed正确的正则表达式:
s="this-is-a-{test}file"
sed 's/{[^}]*}//' <<< "$s"
this-is-a-file
Run Code Online (Sandbox Code Playgroud)
或者这个awk:
awk -F '{[^}]*}' '{print $1 $2}' <<< "$s"
this-is-a-file
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14823 次 |
| 最近记录: |