将grep用于多种搜索模式 [英] Using grep for multiple search patterns
问题描述
考虑我有以下数据流:
BODY1
attrib1:someval11
attrib2: someval12
attrib3:someval13
BODY2
attrib1:someval21
attrib2:someval22
attrib3:someval23
BODY3
attrib1:someval31
attrib2:someval32
attrib3:someval33
我想为每个BODY提取 only attrib1和attrib3 ,即
attrib1:someval11
attrib3: someval13
attrib1:someval21
attrib3:someval23
attrib1:someval31
attrib3:someval33
我试过了
grep'attrib1 \ | attrib3'
,根据<一个href =http://www.cyberciti.biz/faq/searching-multiple-words-string-using-grep/ =noreferrer>本网站,但没有任何回报。 grep attrib1
和 grep attrib2
会返回数据,但只针对指定的单个模式。
从 man
页面:
-e PATTERN ,--regexp = PATTERN
使用PATTERN作为模式。这可用于指定
多个搜索模式,或用于保护以
开头的模式连字符( - )。 (-e由POSIX指定)。
编辑:
或者,您可以将模式保存在文件中,并使用 -f
选项:
aman @ aman-VPCEB14EN:〜$ cat> patt
attrib1
attrib3
aman @ aman-VPCEB14EN:〜$ grep -f patt test
attrib1:someval11
attrib3:someval13
attrib1:someval21
attrib3:someval23
attrib1:someval31
attrib3:someval33
Consider I have the following stream of data:
BODY1
attrib1: someval11
attrib2: someval12
attrib3: someval13
BODY2
attrib1: someval21
attrib2: someval22
attrib3: someval23
BODY3
attrib1: someval31
attrib2: someval32
attrib3: someval33
I want to extract only attrib1 and attrib3 for each BODY, i.e.
attrib1: someval11
attrib3: someval13
attrib1: someval21
attrib3: someval23
attrib1: someval31
attrib3: someval33
I tried
grep 'attrib1\|attrib3'
, according to this site but that returned nothing. grep attrib1
and grep attrib2
do return data but just for the single pattern specified.
grep -e 'attrib1' -e 'attrib3' file
From the man
page :
-e PATTERN, --regexp=PATTERN
Use PATTERN as the pattern. This can be used to specify multiple search patterns, or to protect a pattern beginning with a hyphen (-). (-e is specified by POSIX.)
Edit :
Alternatively , you can save patterns in a file and use the -f
option :
aman@aman-VPCEB14EN:~$ cat>patt
attrib1
attrib3
aman@aman-VPCEB14EN:~$ grep -f patt test
attrib1: someval11
attrib3: someval13
attrib1: someval21
attrib3: someval23
attrib1: someval31
attrib3: someval33
这篇关于将grep用于多种搜索模式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!