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

如何用Perl单次提取Google Drive链接中的文件ID(避免两次处理)

一步提取Google Drive文件ID的Perl命令

当然可以一步完成!你现在分两次处理的方式完全可以合并成一个正则表达式操作,直接精准提取中间的文件ID。

这里有几种简洁的实现方式:

方式一:替换整个字符串为捕获的ID

用-pe参数配合正则捕获组,把整个URL替换成我们需要的ID部分:

URL="https://drive.google.com/file/d/j2903r293rj092j3r20/view?usp=sharing"; echo $URL | perl -pe 's!^https://drive.google.com/file/d/([^/]+)/.*$!$1!'

正则说明:

  • ! 作为正则分隔符(代替默认的/),避免了转义URL里的斜杠,让表达式更易读
  • ^https://drive.google.com/file/d/ 匹配URL的固定前缀
  • ([^/]+) 捕获组,匹配所有非斜杠的字符(也就是文件ID,因为ID后紧跟/view)
  • /.*$ 匹配从ID后的斜杠到字符串结尾的所有内容
  • $1 引用第一个捕获组的内容,也就是我们要提取的ID

方式二:直接匹配并打印ID

用-ne参数循环处理输入行,匹配到目标内容后直接打印:

URL="https://drive.google.com/file/d/j2903r293rj092j3r20/view?usp=sharing"; echo $URL | perl -ne '/https:\/\/drive\.google\.com\/file\/d\/([^\/]+)/ && print $1 . "\n"'

这种方式更直接:当正则匹配到URL中的ID部分时,就打印捕获到的内容。

两种方式都能一步完成提取,不用再分两次管道处理啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 07:02:36