首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除由大写字母和小写字母组成的单词?

删除由大写字母和小写字母组成的单词?
EN

Unix & Linux用户
提问于 2018-09-20 22:22:57
回答 1查看 1.8K关注 0票数 3

我有一个叫file.txt的文件。在这个文件中有由大写字母和小写字母组成的单词,也有由大写或小写字母和数字组成的单词。我想过滤这个文件,所以输出没有包含大写字母和小写字母的单词。例如,输入file.txt

代码语言:javascript
复制
Aaa
aBb
aB
Aa12
12aA
123
123Ab
AAA
aaa

在这个文件中有大写字母和小写字母(例如Aaa、aBp)的单词,单词包含大小写字母和数字(例如,123 aBp)。此外,单词只包含小写字母(例如aaa)或大写字母(例如AAA)。我只想删除包含大写字母和小写字母(例如Aaa、aBp)的单词,因此输出如下:

代码语言:javascript
复制
Aa12
12aA
123
123Ab
AAA
aaa

有什么想法吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-09-20 22:31:22

代码语言:javascript
复制
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]*意味着行的其余部分必须只包含大写或小写字母。
票数 5
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/470412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档