bash - 如何在 Bash 中找到以字母开头的行?grep 和 awk 都不起作用
问题描述
我一直在试图找到以 E 开头的行,在这个空格之后也有一个大写字母 A
grep 'E* A' file.txt | grep '^E'
代码的第一部分将起作用(打印所有在空格后带有 A 的行,虽然我不太明白如何,因为没有'E' 它不起作用),但第二部分不是。我知道用 sql 很容易做到这一点,但我相信用纯 bash 也可以做到这一点。
解决方案
grep
没有逻辑 AND 运算符,除非将管道用作:
grep ' A' file.txt | grep '^E'
在这种特殊情况下,您可以将 BRE 设置为
grep '^E.* A' file.txt
或者您可能想使用 awk 进行此类操作
awk '/^E/ && / A/' file.txt
推荐阅读
- python - 时间对象的方法
- c# - 如何从静态类调用其他类中的方法
- reactjs - 使用 Hooks 访问组件方法
- tensorflow - 如何在tensorflow或keras的h5模型中查找特定层的步幅/填充信息
- bash - 如何在 unix bash 脚本中查找文件内容
- python - 如何使用 Python 将 JSON 输出(梦幻足球数据)写入 CSV?
- java - 在 gradle 指南中构建 Java Web 应用程序会在打开 jsp 文件时引发许多错误
- json - 为什么 axios.post 会返回 POST 404 (Not Found) 错误,即使 axios.get 确实返回了有效值?
- azure - 如何从 http://mysite.azurewebsites.net/.auth/logout/complete 自定义链接
- aes - Keytool - 生成 AES 公钥/私钥对