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

如何提取文件每行匹配aaaa、test后的后续词并以逗号分隔输出

解决方案:使用awk提取指定字段并格式化输出

针对你的需求,用awk命令可以便捷实现字段提取和格式调整,以下是具体命令:

awk '{
    val1 = val2 = ""
    for(i=1; i<=NF; i++){
        # 不区分大小写匹配"aaaa",提取后续第一个单词并将首字母大写
        if(tolower($i) == "aaaa"){
            val1 = $(i+1)
            sub(/^./, toupper(substr(val1,1,1)), val1)
        }
        # 匹配"test",提取后续第一个单词
        if(tolower($i) == "test"){
            val2 = $(i+1)
        }
    }
    # 按格式输出,可按需调整逗号前后的空格
    printf "%s,%s\n", val1, val2
}' 你的文件名.txt

命令说明:

  • 遍历每行所有字段(NF代表当前行的字段总数),定位"aaaa"和"test"的位置
  • 用tolower()实现不区分大小写匹配,适配输入中"Aaaa"的写法
  • 通过sub()将"aaaa"后的单词首字母转为大写,匹配预期输出格式
  • 最后用printf格式化输出两个提取到的单词,用逗号分隔

格式调整说明:

如果需要和你预期输出中的空格格式完全一致,可将printf行改为对应格式,比如:

printf "%s ,%s\n", val1, val2

核心提取逻辑不变,仅调整输出的空格样式即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 15:40:30