Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何使用grep查找只包含小写的行_Regex_Bash_Grep - Fatal编程技术网

Regex 如何使用grep查找只包含小写的行

Regex 如何使用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:]]' 如果您也需要允

我是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:]]'
如果您也需要允许符号(此示例允许
+
):


在第一个示例中,您只需要结束一个量词并锚定。我将使用
egrep'^[[:lower:]+$”文件
,因为我看到
[a-z]
在多语言系统上可能会失败,您不需要
cat
和管道,
grep。。。文件
就足够了。使用
grep-v'[^[:lower:][]文件
@fedorqui:是的,我知道,但旧习惯很难改掉。当我搜索东西时,我的输入通常来自某种命令,因此管道:)@Bernhard:
[a-z]
没有问题,除非你想匹配一些在某些地区被认为是小写字母的其他字符。@Bernhard
[a-z]
在多语言系统上可能会失败。它可能给出大写字母,即使您要求小写字母。用谷歌搜索一下。使用
[:lower
:]`。它应该适用于所有人。
cat file.txt | grep -v '[^[:lower:]!+,]'