Regex 使用Unix查找文件中的模式

Regex 使用Unix查找文件中的模式,regex,bash,unix,grep,Regex,Bash,Unix,Grep,如何在UNIX中搜索文件中以e或y开头且一行中正好包含四个字符的行 第一部分我试过了 ls /usr/cont | grep ^[ey] 我不知道该如何让它识别两个不同的字母 对于另一部分,我只知道如何搜索一个确切的字符 对于第二部分,我使用了: ls /usr/cont | grep ^.$ 使用此模式: grep "^[ey]...$" 或者,使用范围语法: grep "^[ey].\\{3\\}$" 例如: gps.log和pps.log 我尝试了以下方法,效果很好 $ ls -

如何在UNIX中搜索文件中以e或y开头且一行中正好包含四个字符的行

第一部分我试过了

ls /usr/cont | grep ^[ey] 
我不知道该如何让它识别两个不同的字母

对于另一部分,我只知道如何搜索一个确切的字符

对于第二部分,我使用了:

ls /usr/cont | grep ^.$
使用此模式:

grep "^[ey]...$"
或者,使用范围语法:

grep "^[ey].\\{3\\}$"
例如:

gps.log和pps.log

我尝试了以下方法,效果很好

$ ls -ldtr [gp][a-z][a-z].*
如果文件中也包含大小写或数字字符,则也可以在字符范围内添加A-Z0-9。

有关文件名:

ls /usr/cont/[ey]???
文件名必须以
e
y
开头,总共由4个字符组成(当然还有路径)

对于文件中的行:

grep '^[ey]...$'

该行必须以
e
y
开头,总共由4个字符组成。

尽管我没有完全理解您的问题,也没有足够的信誉点数进行评论。如果要查找文件名以字母“e”或“y”开头且正好有四个字符的文件,请尝试“查找”


请提供一个示例,您期望的文件名或文件内容是什么
grep
对于内容,
find
对于名称(或
ls | grep
取决于您要执行的操作),我使用ls | grep在usr/cont目录中查找文件。不知道如何组合语法。我希望有一个文件名列表。谢谢,我知道第一部分有意义,但没有意识到你需要为范围指定更多的点。当我获得15个声誉时,我肯定会:)抱歉,我以为我可以接受所有答案,所以逻辑上我会接受第一个。我真的很感谢你的贡献。
find /path_to_search_for -name "????"  \( -name "y*" -o -name "e*" \)