Regex 如何使用grep查找只包含小写的行
我是bash新手,正在学习使用grepRegex 如何使用grep查找只包含小写的行,regex,bash,grep,Regex,Bash,Grep,我是bash新手,正在学习使用grep grep^[a-z]file.txt将显示所有以小写字母开头的行 grep[a-z]file.txt所有行都用小写字母 不知道如何显示所有小写的行,有人能帮忙吗?您可以在regex中使用锚来表示egrep: egrep '^[[:lower:]]+$' file 此egrep将只查找在中只有小写字母的行(不允许有空格) 这将匹配并排除除a-z之外包含其他内容的行 cat file.txt | grep -v '[^[:lower:]]' 如果您也需要允
grep^[a-z]file.txt将显示所有以小写字母开头的行
grep[a-z]file.txt
所有行都用小写字母
不知道如何显示所有小写的行,有人能帮忙吗?您可以在regex中使用锚来表示egrep
:
egrep '^[[:lower:]]+$' file
此egrep
将只查找在中只有小写字母的行(不允许有空格) 这将匹配并排除除a-z
之外包含其他内容的行
cat file.txt | grep -v '[^[:lower:]]'
如果您也需要允许符号(此示例允许!
,+
,,
):
在第一个示例中,您只需要结束一个量词并锚定。我将使用egrep'^[[:lower:]+$”文件
,因为我看到[a-z]
在多语言系统上可能会失败,您不需要cat
和管道,grep。。。文件
就足够了。使用grep-v'[^[:lower:][]文件
@fedorqui:是的,我知道,但旧习惯很难改掉。当我搜索东西时,我的输入通常来自某种命令,因此管道:)@Bernhard:[a-z]
没有问题,除非你想匹配一些在某些地区被认为是小写字母的其他字符。@Bernhard[a-z]
在多语言系统上可能会失败。它可能给出大写字母,即使您要求小写字母。用谷歌搜索一下。使用[:lower
:]`。它应该适用于所有人。
cat file.txt | grep -v '[^[:lower:]!+,]'