1

ファイルをgrepして、この行の3番目の部分を抽出したい

#define SIM_VERSION_COMPAT 1302

awkで。だから私は書いた:

grep "#define SIM_VERSION_COMPAT" global.h | awk '{ print $$3 }'

結果は1302になるはずですが、何も表示されません(空白)。

4

4 に答える 4

3

次のように awk を使用できるので、grep とパイプを使用する必要はありません。

awk '/#define SIM_VERSION_COMPAT/{print $3}' global.h
于 2013-02-11T15:43:05.607 に答える
1

ちょうど使用grep

$ grep -Po '(?<=#define SIM_VERSION_COMPAT )[0-9]+' global.h
1302

これは、肯定的な後読みを使用して、以下を含む行に一致させますが#define SIM_VERSION_COMPAT、それに続く数字文字列のみを出力します。

于 2013-02-11T15:47:05.863 に答える
1
[spatel@tc01 ~]$ echo "#define SIM_VERSION_COMPAT 1302" | awk '{ print $3 }'
1302
于 2013-02-11T15:47:41.673 に答える