egrep 命令不起作用

egrep 命令不起作用

我需要帮助来解决这个问题,因为它在我的电脑上不起作用:

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)手册页说:

此外,变体程序 egrepfgrep 和分别与、和rgrep相同。这些变体已弃用,但为了向后兼容而提供。grep -Egrep -Fgrep -r


过滤文本的另一种方法:

awk -F '\t' '$2=="AA" && $3=="AA" && $4=="BB" && $5=="BB" && $6=="AA" && $7=="AA"' file.tsv

相关内容