我试图以这种格式搜索所有文件名:
所以基本上我想要两个非空字符串,只包含由句点分隔的英文字母(a-z或A-Z)。
示例:
file.txt(有效)
string.c(有效)
file..txt(无效 - 有两个句号)
人。 (无效 - 期后需要字母串)
人。 txt(无效 - 句点后有空格)
我想用egrep做这件事,但我在解决这个问题上遇到了一些麻烦
到目前为止,这是我的表达,我知道会找到比我想要的句号更多的行:
".+\..+"
我该如何解决这个问题?
答案 0 :(得分:2)
试试这个:
egrep '^[a-zA-Z]+\.[a-zA-Z]+$' file
答案 1 :(得分:2)
如果您在当前目录中查找有效的文件名,可以将find和egrep组合在一起:
ls | egrep '[a-zA-Z][\.][a-zA-Z]'
或
find . -type f | egrep '[a-zA-Z][\.][a-zA-Z]'