我有一个充满网址的文件,如下所示:
https://testing/this/now
我需要将它们全部替换为使用sed专门用于:
{{1}}
并使用更新的内容在最后保存文件。所以实际上删除 “'字符串中存在的任何内容' ' for'(无论长度如何),但保留后者'现在'网址的一部分。
提前致谢。
文森特
答案 0 :(得分:0)
您可以使用此sed命令删除https://testing/this/
之后的2个路径:
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
作为对第一个捕获组的反向引用。
示例:强>
s='https://testing/this/string/for/now'
sed 's|\(https://testing/this/\)[^/]*/[^/]*/|\1|' <<< "$s"
https://testing/this/now
答案 1 :(得分:0)
这是使用cut
:
# echo https://testing/this/string/for/now | cut -d/ -f1-4,7
https://testing/this/now
要处理文件,只需运行cut -d/ -f1-4,7 < input.txt > output.txt
。