如何在UNIX中以e或y开头并在一行中包含四个字符的文件中搜索行?
第一部分我尝试了
ls /usr/cont | grep ^[ey]
我不确定我应该如何识别两个不同的字母。
对于另一部分,我只知道如何搜索一个确切的字符。
对于我使用的第二部分:
ls /usr/cont | grep ^.$
答案 0 :(得分:1)
使用此模式:
grep "^[ey]...$"
或者,使用范围语法:
grep "^[ey].\\{3\\}$"
答案 1 :(得分:1)
对于文件名:
ls /usr/cont/[ey]???
文件名必须以e
或y
开头,共包含4个字符(当然还有路径)。
对于文件中的行:
grep '^[ey]...$'
该行必须以e
或y
开头,共包含4个字符。
答案 2 :(得分:0)
举个例子:
gps.log和pps.log
我尝试了以下内容并且有效。
$ ls -ldtr [gp][a-z][a-z].*
如果您的文件中也包含驼峰大小写或数字字符,您也可以在字符范围内添加A-Z0-9。
答案 3 :(得分:0)
虽然我没有完全回答您的问题,但没有足够的声誉可以评论。如果你想找到带有文件名的文件,或者以字母“e”或“y”开头,并且只有四个字符,那么试试“find”,
find /path_to_search_for -name "????" \( -name "y*" -o -name "e*" \)