bash - 如何grep除脚本中已有的其他文本
问题描述
我正在 bash 上制作一个过滤电子邮件脚本,我唯一的问题是我想要grep -c
一个文本,除了Hotmail, Outlook, Gmail, Etc
这里Other
提供的示例脚本,
echo "Hotmail : `grep -c "@hotmail" $inputFile`"
echo "Outlook : `grep -c "@outlook" $inputFile`"
echo "Yahoo : `grep -c "@yahoo" $inputFile`"
echo "Gmail : `grep -c "@gmail $inputFile`"
我希望所有其他电子邮件,如@sbc、@mail.ru 或上面未列出的任何电子邮件都算作其他,谢谢
解决方案
echo "Other : `egrep -vc '@(hotmail|outlook|yahoo|gmail)' $inputFile`"
-v 标志使 grep 仅 grep 模式未出现的那些行。
egrep 启用 (...|...|...) 替代方案。
推荐阅读
- python - 我怎样才能进入日期时间周年?
- azure - 应用程序洞察力 kusto 查询列出所有子项
- python - 字符串对象的 removeprefix 不是属性
- amazon-web-services - AWS RDS 上次连接日期
- laravel - 限制页面访问。防止在没有登录的情况下访问页面
- apache-kafka - 配置 AggregatingReplyingKafkaTemplate 以获取来自多个主题和多个消费者实例的响应
- google-bigquery - GCP Airflow - 大查询连接
- amazon-web-services - 从 Redshift 存储在辅助表或 UNLOAD 列信息中
- php - 刷新时输入字段未清除
- firebase - 如何避免在firebase的调试列表中出现重复的设备?