regex - 使用 grep 的乘数问题
问题描述
我有以下文件
1:10177 rs367896724 A AC
1:10352 rs555500075 T TA
1:10616 rs376342519 CCGCCGTTGCAAAGGCGCGCCG C
1:11012 rs544419019 C G
1:11063 rs561109771 T G
1:13110 rs540538026 G A
1:13116 rs62635286 T G
1:13118 rs62028691 A G
1:13273 rs531730856 G C
1:13284 rs548333521 GT A
最后两列只能有值 [ATCG]。我想对最后两列中只有一个字母的所有行进行 grep
预期输出:我有以下文件
1:11012 rs544419019 C G
1:11063 rs561109771 T G
1:13110 rs540538026 G A
1:13116 rs62635286 T G
1:13118 rs62028691 A G
1:13273 rs531730856 G C
我已经尝试了以下但我没有得到任何结果
grep -F '[ACTG]?\s[ACTG]?$' file | head
grep '[ACTG]?\s[ACTG]?$' file | head
grep -E '.?\s.?$' file
使用最后一个命令,我得到以下信息:
1:10616 rs376342519 CCGCCGTTGCAAAGGCGCGCCG C
1:11012 rs544419019 C G
1:11063 rs561109771 T G
1:13110 rs540538026 G A
1:13116 rs62635286 T G
1:13118 rs62028691 A G
1:13273 rs531730856 G C
1:13284 rs548333521 G A
谢谢您的帮助!
解决方案
如果您只想在最后两列中使用一个字符,请使用前导空白字符。根据您的描述,听起来也不应该有任何可选字符。
grep -E '\s.\s.$' file
或者
grep -E '(\s[ACTG]){2}$' file
要么应该工作。
推荐阅读
- jquery - 来自特定 tr:nth-child 位置的 node-red 解析 html 表不适用于cheerio
- mysql - 雄辩的原始子查询按用户获取计数
- java - lambda转换的目标类型必须是ConnectionHolder的接口 - SpringBoot Java
- sqlalchemy - SQLAlchemy 没有创建某些列
- python - 如何使用正则表达式或索引从非日期列中派生日期?
- python - 相同的 Python 脚本在 Spyder 中没有错误,但在 Sublime Text 中出现错误
- binary-search-tree - 为什么仅使用二叉树旋转不能将任意二叉树转换为 BST?
- yolo - 如何在珊瑚边缘 TPU USB 加速器中运行 yolov2-lite tflite?
- flutter - 如何修复类型字符串不是下面颤动代码中类型小部件的子类型
- java - Json Array数据如何传入Jsp