我有一个叫file.txt的文件。在这个文件中有由大写字母和小写字母组成的单词,也有由大写或小写字母和数字组成的单词。我想过滤这个文件,所以输出没有包含大写字母和小写字母的单词。例如,输入file.txt:
Aaa
aBb
aB
Aa12
12aA
123
123Ab
AAA
aaa在这个文件中有大写字母和小写字母(例如Aaa、aBp)的单词,单词包含大小写字母和数字(例如,123 aBp)。此外,单词只包含小写字母(例如aaa)或大写字母(例如AAA)。我只想删除包含大写字母和小写字母(例如Aaa、aBp)的单词,因此输出如下:
Aa12
12aA
123
123Ab
AAA
aaa有什么想法吗?
发布于 2018-09-20 22:31:22
grep -Exv '[A-Za-z]*([A-Z][a-z]|[a-z][A-Z])[A-Za-z]*'grep -Ex,即grep与扩展regex匹配整行。然后,-v标志否定正则表达式,即返回与以下正则表达式不匹配的行。([A-Z][a-z]|[a-z][A-Z])匹配一个大写字母和一个小写字母,反之亦然。[A-Za-z]*...[A-Za-z]*意味着行的其余部分必须只包含大写或小写字母。https://unix.stackexchange.com/questions/470412
复制相似问题