我有一个充满网址的文件,如下所示:
https://testing/this/string/for/now
我需要专门使用 sed 将它们全部替换为:
https://testing/this/now
并在最后保存更新内容的文件。所以实际上删除
无论“string”和“for”中存在什么内容(无论它们的长度如何),但保留 url 的后一个“now”部分。
提前致谢。
Vincent
您可以使用此 sed 命令删除 2 个路径https://testing/this/
:
sed -i.bak 's|\(https://testing/this/\)[^/]*/[^/]*/|\1|'' file
解释:
\(https://testing/this/\) # match and group https://testing/this/
[^/]*/ # match 0 or more of any character that is not /
[^/]*/ # match 0 or more of any character that is not /
我们正在使用替换\1
这是对第一个捕获组的反向引用。
Example:
s='https://testing/this/string/for/now'
sed 's|\(https://testing/this/\)[^/]*/[^/]*/|\1|' <<< "$s"
https://testing/this/now
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)