You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用sed提取URL中最后一个斜杠后的文件名?

解决方法:用Sed提取URL最后一个斜杠后的文件名

当然有啦!你完全不需要依赖那些可能变更的固定路径字符串,只需要让sed匹配最后一个斜杠之前的所有内容并替换为空,就能直接得到目标文件名。

正确的Sed命令

sed 's/.*\///' in_file.txt > out_file.txt

命令逻辑拆解

让我们把这个正则的思路理清楚:

  • .*:这是正则里的贪婪匹配规则,会从字符串开头开始,尽可能匹配最多的字符,直到碰到最后一个斜杠为止
  • \/:因为斜杠是sed命令的分隔符,所以必须用反斜杠转义,才能表示URL里实际的斜杠字符
  • s/.*\///:整个替换命令的作用就是,把从字符串开头到最后一个斜杠的所有内容替换成空字符串,剩下的自然就是最后一个斜杠后的文件名了

实际效果验证

用你给出的两个URL测试:

https://www.something.com/something/somethingelse/file.zip
https://www.something.com/something/somethingelse/somethingnew/file2.txt

执行命令后,输出文件里会得到:

file.zip
file2.txt

额外推荐:更直观的basename命令

其实还有一个更简单的工具——basename,它本来就是专门用来提取文件名的,用法更易懂:

xargs basename < in_file.txt > out_file.txt

这个命令会逐行读取输入文件的URL,用basename提取每个URL的文件名,结果和sed命令完全一致。

内容的提问来源于stack exchange,提问作者Sean Norton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:49:02