заменить значением из другого файла при совпадении

Флаг -xдля cpявляется расширением GNU. При копировании одного файла этот параметр не действует, но при копировании всей файловой иерархии параметр -xпредотвращает копирование файлов и каталогов, которые не находятся в той же файловой системе, что и исходный источник.

Например, в файловой системе с точками монтирования /usrи /usr/localиспользование cp -xR /usr /some-destне приведет к копированию иерархии под /usr/local.

Существуют и другие утилиты с опцией -xс аналогичной семантикой, такие как duиfind(флаг называется -xdevдляfindrsync.

0
03.12.2020, 22:07
1 ответ

Я добавил в список rsID запись, соответствующую вашему файлу bim ​​:

$ cat file2.list 
rs99999 4:163870478
rs99998 4:117161848
rs123456 22:51242613

Тогда:

$ awk -F"\t" -v OFS="\t" '{ 
                            if(NR==FNR){
                                a[$2]=$1; next
                            }
                            if($2 in a){
                                $2=a[$2]
                            }
                         }1;' file2.list file1.bim 
1   1:10583 0   10583   G   A
1   1:10611 0   10611   G   C
... 
22  rs123456    0   51242613    C   A
22  22:51243297 0   51243297    T   A
1
18.03.2021, 22:45

Теги

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