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

如何在Bash中用awk命令提取第一列为5的行的第二列内容?

正确提取"cat"的awk命令

你的原命令awk -F ',' '/5/ {print $2}' filename会匹配所有包含字符5的行,而文档里每一行的第一列都带有5,所以会输出所有动物。要只提取第一列恰好是5的行对应的第二列,有两种常用方法:

  • 方法一:精确匹配第一列的数值/字符串

    awk -F ',' '$1 == 5 {print $2}' filename
    

    这里$1 == 5直接判断第一列的值等于5,不管是数值还是字符串形式,awk都会正确匹配。

  • 方法二:用正则限定第一列的精确内容

    awk -F ',' '$1 ~ /^5$/ {print $2}' filename
    

    正则表达式^5$表示第一列必须是仅包含单个5,^匹配第一列的开头,$匹配第一列的结尾,避免匹配到55、555这类包含多个5的内容。

两种方法都能精准提取出"cat",你可以根据习惯选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 13:57:02