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

如何从包含xyz的README.txt行中提取对应的emr_000x.sx文件名?

提取包含xyz行中的emr文件名

以下几种bash命令方案可实现需求:

方案一:grep + sed(精准匹配A字段开头的文件名)

grep 'xyz' README.txt | sed -n 's/^A:\(emr_000[0-9]\.sx\),.*/\1/p'
  • grep 'xyz' README.txt:筛选出所有包含“xyz”的行
  • sed 部分:仅提取行首A:后面的emr_000x.sx文件名,^A:确保匹配目标字段的开头,\(emr_000[0-9]\.sx\)捕获需要的文件名,\1引用捕获的内容输出

方案二:awk(基于字段分割提取,更灵活)

awk '/xyz/ {split($0, fields, /[:,]/); print fields[2]}' README.txt
  • /xyz/:仅处理包含“xyz”的行
  • split($0, fields, /[:,]/):将行内容按冒号或逗号分割为数组,fields[2]对应A字段后的文件名
  • 直接输出数组中对应的文件名

方案三:双grep(快速提取,适合文件名位置不固定的情况)

grep 'xyz' README.txt | grep -o 'emr_000[0-9]\.sx'
  • 第一个grep过滤出含“xyz”的行
  • 第二个grep用-o参数只输出匹配到的emr_000x.sx字符串([0-9]匹配数字x,\.转义点号避免匹配任意字符)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 13:25:33