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

Linux下如何将带管道的双awk数据过滤命令简化为单条语句

单条awk语句实现方案

最终可用命令

你可以直接使用以下任意一条命令实现需求,无需额外管道:

写法1(split分割实现)

awk '!/^N/ && $2 ~ /klm/ {split($2, arr, ":"); print arr[1]}' file

写法2(字符替换实现)

awk '!/^N/ && $2 ~ /klm/ {sub(/:.*/, "", $2); print $2}' file

逻辑说明

  • 条件!/^N/:过滤所有以N开头的行,直接排除N/A无效行
  • 条件$2 ~ /klm/:仅处理第二个字段包含klm的行,同时自动过滤掉前两行无意义表头
  • 两种处理逻辑效果一致:
    • split写法:将第二个字段按冒号分割为数组,取第一个元素输出即为目标域名
    • 替换写法:将第二个字段中冒号及后面的所有内容清空,直接输出处理后的第二个字段即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 16:45:03