我有一个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框中的确切输出。