mv cdable _vars -Куда делся мой.bashrc?

Вы не можете сделать это в grep, нет. Хотя вы можете использовать файл с шаблонами для поиска в качестве входных данных для grep, вы не можете указать конкретное поле в этом файле. Итак, если вы хотите сопоставить только 2-е позиции, вам понадобится что-то вроде этого:

$ awk  '{ if(NR==FNR){a[$2]=$0}else{if($2 in a){print}}}' file1.vcf file2.vcf 
#CHROM  POS ID  REF ALT QUAL    
1   10366   rs58108140  G   A   
1   51954   rs185832753 G   C   

Конечно, это также напечатает случаи, когда положение такое же, но вариант находится на другой хромосоме. Это то, о чем спрашивал ваш вопрос, но может иметь смысл искать уникальные комбинации chr и pos:

$ awk  '{ if(NR==FNR){a[$1$2]=$0}else{if($1$2 in a){print}}}' file1.vcf file2.vcf 
#CHROM  POS ID  REF ALT QUAL    
1   10366   rs58108140  G   A   
1   51954   rs185832753 G   C   

Чтобы сделать это с grep, вам нужно сначала извлечь поле POS в новый файл:

awk '{print $2}' file1.vcf > file3
$ cat file3
POS
10366
10611
51954
13327
13957
13980

Теперь используйте этот файл сgrep:

$ grep -f file3 file2.vcf 
#CHROM  POS ID  REF ALT QUAL    
1   10366   rs58108140  G   A   
1   51954   rs185832753 G   C   

Но это действительно не очень хорошая идея. Например, он также найдет совпадение для 1103668 since10366 is a substring of1103668 `.


Наконец, предполагая, что это два действительных файла vcf (, которых нет в ваших примерах ), вы можете использовать bedtools intersect. Но это не совсем в тему здесь.

-2
13.12.2020, 10:21
2 ответа

Нашел:

cd ~
nano dotfiles

Я переименовал .bashrcв dotfiles...

:стыдно:

0
18.03.2021, 22:43

Как предотвратить повторение этого

Используйте опции -tили -Tдля mvи cp

.
SYNOPSIS
       mv [OPTION]... [-T] SOURCE DEST
       mv [OPTION]... SOURCE... DIRECTORY
       mv [OPTION]... -t DIRECTORY SOURCE...

так что для вашего примера

mv -t dotfiles/.bashrc

Если в вашей cpи mvдозе нет опции -t, вы можете сделатьmv.bashrc dotfiles/

Альтернативы -Tнет.

1
18.03.2021, 22:43

Теги

Похожие вопросы