我需要帮助来解决这个问题,因为它在我的电脑上不起作用:
egrep "^\S+\tAA\tAA\tBB\tBB\tAA\tAA" data.frame_file.txt >> filtered_data.frame_file
它正在创建filtered_data.frame_file.txt
但它是空的。此外,它没有给出任何错误或消息。
这是数据集的一个样本巴伦等人2019年我正在与以下人员合作:
| 探针集 ID | Runner886 | Runner886 | A_batizocoi_K9484 | A_batizocoi_K9484 | A_stenosperma_V10309 | A_stenosperma_V10309 | |-------------- |----------- |----------- |------------------- |------------------- |------------------- |------------------- | | AX-123373785 | BB | BB | BB | BB | BB | BB | | AX-147207617 | AA | AA | AA | AA | AA | AA | AX-147207618 | AA | AA | AA | AA | AA | AA | AX-147207619 | AB | AB | AA | AA | AA | AA | AX-147207620 | BB | BB | BB | BB | BB | BB | | AX-147207621 | BB | BB | AB | AB | NoCall | AB | | AX-147207622 | BB | BB | AB | AB | AA | AA | | AX-147207623 | 无呼叫 | 无呼叫 | 无呼叫 | AB | AA | AA | | AX-147207624 | BB | BB | BB | BB | BB | BB | | AX-147207625 | AB | AB | AA | 无呼叫 | 无呼叫 | AA | | AX-147207626 | AA | AA | AA | AA | AA | AA | AX-147207627 | AB | AB | AA | AA | AB | AB | AX-147207628 | AB | AB | AA | AA | AB | AA | | AX-147207629 | AA | AA | AA | AA | AA | AA | AX-147207630 | BB | BB | BB | BB | BB | BB | | AX-147207631 | AB | AB | BB | BB | AB | AB | | AX-147207632 | BB | BB | BB | BB | BB | BB | | AX-147207633 | BB | BB | BB | BB | BB | BB | | AX-147207634 | BB | BB | BB | BB | BB | BB | | AX-147207635 | BB | BB | BB | BB | BB | BB | | AX-147207636 | AA | AA | AA | AA | BB | BB | | AX-147207637 | AB | AB | AA | AA | BB | BB | | AX-147207638 | BB | BB | BB | BB | BB | BB | | AX-147207639 | BB | BB | BB | BB | BB | BB | | AX-147207640 | AB | AB | BB | BB | AA | AA | | AX-147207641 | AB | AB | BB | BB | BB | BB | AX-147207642 | AA | 无呼叫 | AA | 无呼叫 | BB | BB | | AX-147207643 | AA | AA | BB | BB | AA | AA | AX-147207644 | AA | AA | AA | AA | AA | AA
答案1
假设您实际上有一个制表符分隔的文件(没有所示的边框),然后尝试以下操作:
egrep $'^\S+\tAA\tAA\tBB\tBB\tAA\tAA' data.frame_file.txt >> filtered_data.frame_file
# ....^^............................^
使用ANSI-C 引用因此 grep 在模式中看到实际的制表符。
您应该使用grep -E
而不是egrep
——grep(1)
手册页说:
此外,变体程序
egrep
、fgrep
和分别与、和rgrep
相同。这些变体已弃用,但为了向后兼容而提供。grep -E
grep -F
grep -r
过滤文本的另一种方法:
awk -F '\t' '$2=="AA" && $3=="AA" && $4=="BB" && $5=="BB" && $6=="AA" && $7=="AA"' file.tsv