grep包含包含大写和小写字母的单词

时间:2017-09-20 14:13:00

标签: grep uppercase lowercase

我正在转换一堆(Progress)程序在linux上使用(之前在Windows上使用),我正在寻找一种方法来使用大写和小写字母grep程序名,例如“skip_xref.I “或”NO_dt2.i“。 我怎样才能做到这一点?

4 个答案:

答案 0 :(得分:2)

这个正则表达式应该有所帮助:

A1 foo
A2 foo
Printing combinations
A1 foo
B bar
A1 foo
B1 bar wrapper begin
B bar
B1 bar wrapper end
A2 foo
B bar
A2 foo
B1 bar wrapper begin
B bar
B1 bar wrapper end

如果你想使用grep:

 [a-z].*[A-Z]|[A-Z].*[a-z]

grep '[a-z].*[A-Z]\|[A-Z].*[a-z]'

答案 1 :(得分:0)

您可以使用ls -l |grep 'pattern1\|pattern2'
(假设你在一个想要搜索程序的目录中)

进行网络搜索,详细了解常规regex基础知识,以获得所需的模式。

答案 2 :(得分:0)

要找到不能使用grep的文件名,你需要使用find。

你可以在find中使用正则表达式,但是你需要匹配整个路径。与.开始匹配将解决问题,因此这不是什么大问题。

然后:

.*/\

将匹配至少有一个小写字符后跟一个大写字符的文件名。

如果你使用group来拥有这个模式而且相反(切换小写和大写),你应该得到所有的匹配:

find . -regex ".*/.*[a-z]+.*[A-Z]+*.*"

答案 3 :(得分:0)

我没有回答模棱两可的问题,但是您可以使用greg -i的不区分大小写的标志,

例如docker help build | grep -i dockerfile仍会找到“ Dockerfile”。