如何使用用于tcsh的文件匹配的glob模式找到具有两个以上字母但不以特定两个字母开头的单词?

时间:2012-09-14 02:07:02

标签: linux shell tcsh

基本上我有一个单词/文件夹列表(例如cr cr1 cr22 ch dr eegh)

使用

  

echo ^ cr *

我可以过滤列表并获取不以cr开头的单词(例如,ch dr eegh)

使用

  

echo ?? *

我可以过滤列表并获得两个或更多字母的单词(例如cr cr1 cr22 ch dr eegh)

所以我的问题是,如何将它们组合起来(命令必须以echo开头,但是可以使用grep或其他命令)所以我可以得到不以cr开头且包含两个或更多字母的单词? (例如,ch dr eegh)

2 个答案:

答案 0 :(得分:3)

所以你正在寻找单词

  • 从除c之外的任何内容开始,后跟一个或多个字符
  • c开始,然后是r
  • 以外的一个字符

你走了:

echo [^c]?* c[^r]*

答案 1 :(得分:2)

//发布时,假设OP使用bash,这是一个合理的假设。

如果您只想使用echo,则无法使用。

echo本身不搜索文字,只是将其kwargs传递给stout。处理此问题的最佳方法是使用grep并编写正则表达式。