egrep在SunOS和RHEL上的工作方式不同

时间:2016-04-29 19:26:30

标签: regex grep rhel sunos

我有一个egrep语句(作为脚本的一部分),其目的是检查ASCII字符0-9, a-z, A-Z, space, enter, newline以外的任何字符。此外,如果文本包含在[]中,则它可以包含0-9, a-z, A-Z, _, =,它在RHEL框中的效果非常理想:

uname -a
Linux labeir1 2.6.18-371.el5 #1 SMP Thu Sep 5 21:21:44 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/redhat\-release
Red Hat Enterprise Linux Server release 5.10 (Tikanga)

egrep声明:

egrep -v "^[ ]*([a-zA-Z0-9\t\n\v\f\r ]*|\[{1}[_a-zA-Z0-9\t\n\v\f\r ]*(=[a-zA-Z0-9\t\n\v\f\r ]*)?\]{1})[ ]*$" file1

File1中:

[FEATURE_ID=2]
[FEATURE_REV=1]
[NO_OF_BYTES=18]
001203658080400160b9d0ae45000080
[CRC]
c068

输出:

Nothing, as the patterns of file1 matches

但是当我在SunOS系统上使用它时,它的行为方式却不一样:

uname -a
SunOS prodOTA1 5.9 Generic_118558-38 sun4us sparc FJSV,GPUZC-M

SUNOS上的输出:

[FEATURE_ID=2]
[FEATURE_REV=1]
[NO_OF_BYTES=18]
[CRC]

请帮助您在SunOS中使用egrep -v "^[ ]*([a-zA-Z0-9\t\n\v\f\r ]*|\[{1}[_a-zA-Z0-9\t\n\v\f\r ]*(=[a-zA-Z0-9\t\n\v\f\r ]*)?\]{1})[ ]*$"的确切等效项,以便获得RHEL框中的确切输出。

0 个答案:

没有答案