首页 > 解决方案 > 使用 awk 时如何识别搜索字符串中的制表符空间?

问题描述

我的输入文件是.h包含

#define __CON__       2
#define __CON_MINOR__ 23

#define __CON_PREREQ(maj, min) \
        ((__CON__ << 16) + __CON_MINOR__ >= ((maj) << 16) + (min))

我需要搜索__CON_将 2 和 23 打印为 2.23 的内容。之后有一个制表符空间CON__。我正在使用命令

awk '/__CON__/&&'/__CON_MINOR/' {print $3;}' features.h

为此得到错误的输出。

标签: linuxbashawk

解决方案


你可以这样做:

awk '/__CON__/ {con=$3;} /__CON_MINOR__/ {print con "." $3; exit;}' features.h

推荐阅读