读书人

怎么用grep表达‘或’的关系?不能使用

发布时间: 2013-10-31 12:03:52 作者: rapoo

如何用grep表达‘或’的关系?不能使用egrep
如题, 需要用grep 在一堆文件里抓取名字包含 str1 或str2的文件名。

我自己尝试的是
ls | grep -E '(str1|str2)'

但是发现有些类UNIX不支持-E 选项。 请问怎么表达str1或str2的关系啊? 要用grep啊
那就

ls 
[解决办法]
grep 'str1\
[解决办法]
str2'

[解决办法]
ls
[解决办法]
grep -e 'str1' -e 'str2'
这种呢
[解决办法]
引用:
感谢楼上,但是我还要用grep -v 去排除匹配的内容。
请问用grep 怎么写呢? 这个*{iwin,other}* 似乎不是正则吧?

不是正则,是wildcard
[解决办法]
ls
[解决办法]
awk '!/iwin
[解决办法]
other/'

[解决办法]
ls 
[解决办法]
sed '/str1\
[解决办法]
str2/d'

ls 
[解决办法]
sed '/str1\
[解决办法]
str2/!d'

[解决办法]
引用:

$] ls
str1 str2 str3
$] ls
[解决办法]
grep "str1\
[解决办法]
str2"
str1
str2

楼主的UNIX系统不支持这种写法

读书人网 >UNIXLINUX

热点推荐