regex - Bash 删除带有双亲的字符串,包括他的内容
问题描述
我想删除一个带有双亲和他的内容的字符串,像这样
(20.0 天)
sed -e 's/[0-9a-z]//g'
我可以删除数字和字符,但我不知道如何去掉括号
解决方案
sed 's/([^)]*)//g' file
将替换()
包括括号之间的所有内容。
它匹配(
,后跟任何字符,直到结束)
,然后最后匹配结束)
。
您拥有的当前模式将删除的不仅仅是括号内的内容。例如,
echo "(20.0 days) some text" | sed -e 's/[0-9a-z]//g'
也将删除some text
。
推荐阅读
- typescript - 使用 nest.js 在 AWS Lambda 中获取 Cognito 数据(即 requestContext)
- python - 如何在pygame中使用相同的类创建独立工作的重复精灵?
- chart.js - ChartJS 如何提供对象数组作为数据集?
- matlab - 在 Matlab 中进行接收时,JeroMQ 订阅者连接中断
- kubernetes - EKS 集群的 ansible 模块
- c - 在 Switch 语句中使用字母
- mysql - 是否可以在 (column1) AS column1 中运行?还是 column1 = 函数(column1)?
- javascript - 为什么 Firefox 将括号视为代码块而不是 JavaScript 控制台中的 Object 声明?
- gruntjs - 如何使用不同的配置(以编程方式)运行相同的 grunt 任务?
- python - 更改副本的值也会更改原始值