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

如何使用Bash提取文件中的所有变量名?

Bash提取文件中的变量名方法

下面提供两种简单的命令行方法,可从目标文件中提取所有${变量名}格式的变量名,并输出为空格分隔的形式:

方法一:使用grep命令

假设目标文件名为test.txt,执行以下命令:

grep -oP '\$\{\K[a-zA-Z0-9_]+' test.txt | tr '\n' ' '
  • -o:仅输出匹配到的内容片段
  • -P:启用Perl兼容正则表达式
  • \$\{\K:匹配${后忽略这部分内容,只保留后续的变量名
  • [a-zA-Z0-9_]+:匹配符合Bash变量命名规则的字符(字母、数字、下划线)
  • tr '\n' ' ':将每行的匹配结果转换为空格分隔的形式

方法二:使用sed命令

同样以test.txt为例,执行命令:

sed -E 's/.*\$\{([a-zA-Z0-9_]+)\}.*/\1 /g' test.txt | xargs
  • -E:使用扩展正则表达式简化语法
  • s/.*\$\{([a-zA-Z0-9_]+)\}.*/\1 /g:全局匹配所有${变量名}结构,提取其中的变量名并添加空格
  • xargs:自动整理输出,去除多余空格

执行上述任意命令后,对于内容为text${v1}text${v2}etc的文件,都会输出:v1 v2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 09:35:32