Ahm*_*med 3 grep text-processing
我有一个名为file.txt
. 在这个文件中有大小写字母组成的单词,也有大小写字母和数字组成的单词。我想过滤文件的,所以输出是免费的包含单词都大写和小写字母。例如,输入file.txt
:
Aaa
aBb
aB
Aa12
12aA
123
123Ab
AAA
aaa
Run Code Online (Sandbox Code Playgroud)
在这个文件中有大小写字母的单词(例如 Aaa、aBp),单词包含大小写字母和数字(例如 123Ab)。此外,to 单词仅包含小写字母(例如 aaa),或仅包含大写字母(例如 AAA)。我只想删除包含大写和小写字母的单词(例如 Aaa、aBp),因此输出如下:
Aa12
12aA
123
123Ab
AAA
aaa
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
grep -Exv '[A-Za-z]*([A-Z][a-z]|[a-z][A-Z])[A-Za-z]*'
Run Code Online (Sandbox Code Playgroud)
grep -Ex
,即带有扩展正则表达式的grep,匹配整行。该-v
标志然后否定正则表达式,即返回那些与以下正则表达式不匹配的行。([A-Z][a-z]|[a-z][A-Z])
匹配一个大写字母后跟一个小写字母,反之亦然。[A-Za-z]*...[A-Za-z]*
意味着该行的其余部分必须仅包含大写或小写字母。