bash - 如何在 bash 中使用 grep 显示所有以 1 个大写字母开头的单词?
问题描述
我试过这样的东西,
sed 's/^[ \t]*//' file.txt | grep "^[A-Z].* "
但它只会显示以大写开头的单词开头的行。
file.txt 内容:
Something1 something2
word1 Word2
this is lower
输出将是Something1 something2,但我希望它也显示第二行,因为还有一个以大写字母开头的单词。
解决方案
使用 GNU grep 即可grep -P "[A-Z]+\w*" file.txt
。或者,正如@Shawn 在下面的评论中所说,grep -P '\b[A-Z]' file.txt
也可以使用。如果你只想要单词,而不是整行,grep -Po "[A-Z]+\w*" file.txt
会给你单个单词。
推荐阅读
- c - 我的代码不工作。我做错了吗?
- angular6 - 刷新如何在angular6中保持相同的路线?
- php - 如何使用 PHP 的 PDO 对象发送 SQL 更新查询
- debian - 安装 rsyslog(Debian)时出现问题。存储库未签名
- python - 如何使用 FOR 循环将两个列表中的元素附加到一个空列表中?
- android - 检测设备是否关闭了 touch id 功能
- java - 如何修复我的 do-while 循环中的逻辑,然后应用 try-catch 块来捕获并显示来自另一个类的错误消息?
- ios - 点击 SWIFT 获取 NSAttributed 字符串颜色
- typescript - 如何使用泛型的类名作为结果类型的字符串值
- svg - 如何加速 Inline SVG 更改