regex - 带有正则表达式的 sed 命令
问题描述
我不明白这个命令使用“sed”的结果。
前任:
echo "Here is my website: https://mywebsite.blabla/files" | sed -e 's/.* //g'
结果:
https://mywebsit.blabla/files
现在我添加第二个“https”:
echo "Here is my https website: https://mywebsite.blabla/files" | sed -e 's/.* //g'
sed 的结果也是一样的。
据我了解,这s/.* //g
意味着替换任何匹配任何零个或多个字符和一个没有任何内容(//
)的空格,直到链的末尾。显然我错过了一些东西。
任何想法?
解决方案
sed -e 's/.* //g'
使用sed -e 's/<search>/<replace>/g'
sed的功能。
在您的示例中,搜索模式.*
将匹配:
.
每个角色*
0次以上直到一个空格
现在结果似乎合乎逻辑:您将用任何内容替换除最后一个“单词”之外的所有内容。
推荐阅读
- typescript - 如果在 Typescript 中满足条件,如何断言联合类型的类型?
- c++ - How are constructors with default parameters called in inheritance hierarchy?
- spring-boot - 调用springboot rest API时的时间差
- locust - 根据响应数据引发异常以将成功的连接标记为失败
- c# - 事件处理程序中的锁定语句 - 可能的死锁?
- c++ - 比较一般树中两个节点的所有子节点
- r - ggplot不显示点
- angular - Angular 需要微前端的 polyfills.js 以及带有 main.js 的 vendor.js 来加载元素。并且只加载第一个声明的 main.js
- javascript - 我可以用 p5.js 为一个圆从一个点移动到另一个点设置动画吗
- python - Pandas:通过在行级别应用自定义函数来创建列