shell - 在 sed 中,我可以防止 \S 匹配括号吗?
问题描述
输入文件有这个内容
you have to identify (http://third-view.herokuapp.com/)
我想删除 URL,所需的输出是
you have to identify ()
但下面的 Sed 命令也删除了 ')' 括号。
sed -i -e 's!http[s]\?://\S*!!g' file
解决方案
通过将它们添加到显式字符类来添加()
到要终止的字符列表:
sed -r -i -e 's!http[s]?://[^[:space:]()]*!!g' file
推荐阅读
- python - id() 是否返回 CPython 中的实际内存地址?
- php - 如何以干净的方式通过测试更新方法的所有必填字段?
- javascript - Chartist url on click with a bar chart - javascript
- java - seedstack 显式绑定是必需的,MYOBJECT 没有显式绑定
- wordpress - 如何使用 woocommerce rest api 向客户添加元数据?
- android - 如何将音频进度更新为分钟
- powershell - Powershell:将管道作为参数发送给命令
- parallel-processing - 如何跨多个设备并行化简单操作?
- javascript - Javascript - 如何实现可覆盖的生命周期钩子
- javascript - 在 Symfony 4 中使用 WebPack Encore 定义 JavaScript 对象后无法识别