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

Bash变量$NF的PowerShell等效实现及Google Drive下载脚本转换问题

Bash转PowerShell:解决$NF的替代问题

先搞清楚$NF的作用

$NF是awk工具的内置变量,不是Bash原生变量,它代表当前处理行的最后一个字段(默认以空白字符分割字段)。你提供的Bash代码里,那段awk命令awk '/download/ {print $NF}' ./cookie的作用是:在cookie文件中筛选出包含"download"的行,提取该行的最后一段内容——这部分内容是Google Drive大文件下载必需的confirm验证参数。

PowerShell里的替代实现

在PowerShell中,我们可以通过Select-String匹配目标行,再拆分字符串提取最后一个字段,完成相同逻辑:

完整转换后的PowerShell脚本

# 第一步:获取初始cookie,对应原Bash第一行
curl -c ./cookie -s -L "https://drive.google.com/uc?export=download&id=$fileid" | Out-Null

# 第二步:从cookie文件中提取confirm验证参数
$confirmToken = (Select-String -Path ./cookie -Pattern 'download').Line -split '\s+' | Select-Object -Last 1

# 第三步:携带cookie和confirm参数完成下载,对应原Bash第二行
curl -Lb ./cookie "https://drive.google.com/uc?export=download&confirm=$confirmToken&id=$fileid" -o $filename

核心逻辑说明

  • Select-String -Path ./cookie -Pattern 'download':找出cookie文件中包含"download"的行
  • -split '\s+':将匹配到的行按任意空白字符分割成字段数组
  • Select-Object -Last 1:取数组的最后一个元素,等价于awk中的$NF功能

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 20:21:42