ファイルをgrepして、この行の3番目の部分を抽出したい
#define SIM_VERSION_COMPAT 1302
awkで。だから私は書いた:
grep "#define SIM_VERSION_COMPAT" global.h | awk '{ print $$3 }'
結果は1302になるはずですが、何も表示されません(空白)。
次のように awk を使用できるので、grep とパイプを使用する必要はありません。
awk '/#define SIM_VERSION_COMPAT/{print $3}' global.h
ちょうど使用grep
:
$ grep -Po '(?<=#define SIM_VERSION_COMPAT )[0-9]+' global.h
1302
これは、肯定的な後読みを使用して、以下を含む行に一致させますが#define SIM_VERSION_COMPAT
、それに続く数字文字列のみを出力します。
[spatel@tc01 ~]$ echo "#define SIM_VERSION_COMPAT 1302" | awk '{ print $3 }'
1302