Regex 使用Unix查找文件中的模式
如何在UNIX中搜索文件中以e或y开头且一行中正好包含四个字符的行 第一部分我试过了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 -
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*" \)