Как вставить значения из таблицы с разделителями табуляции во второй файл, соответствующий слову в столбце 1 из первого файла - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть файл результатов CD-Hit (для тех, кто знаком с CD-Hit).Я хочу вставить значение второго столбца из другого файла, который представляет собой таблицу с разделителями табуляции из 2 столбцов, в файл совпадений с компакт-диском рядом с соответствующим соответствующим идентификатором RUN (как это показано зеленым цветом в образце изображения).RUN ID - это первый столбец в таблице с разделителями табуляции (ниже). пример изображения для файла попадания на CD

файл результата попадания на CD (первый файл)

>Cluster 0
0   108nt, >ERR123456.1016542.1... *
1   108nt, >ERR123456.3114223.2... at +/93.52%
2   108nt, >ERR345678.217087.1... at -/89.81%
3   108nt, >ERR345678.291581.2... at -/92.59%
4   108nt, >ERR567890.3381351.2... at +/87.96%
5   108nt, >ERR987654.126640.2... at -/86.11%
6   108nt, >ERR987654.2492930.2... at +/84.26%
7   108nt, >ERR987654.3327702.1... at +/92.59%
>Cluster 1
0   108nt, >ERR876543.626414.2... *
1   108nt, >ERR123456.3213598.2... at +/85.19%
2   108nt, >ERR567890.1158706.2... at +/97.22%
3   108nt, >ERR345678.146372.1... at -/88.89%
4   108nt, >ERR765432.201531.2... at -/92.59%
5   108nt, >ERR765432.2770540.1... at -/87.04%

Таблица с разделителями табуляции (второй файл)

 ERR123456   1650
 ERR345678   2350
 ERR567890   1520
 ERR876543   4520
 ERR987654   3960
 ERR765432   2550

Я хочу, чтобы выходной файл содержал значения во 2-м столбце таблицы с разделителями табуляции рядом со строкой, в которой содержится соответствующий ей идентификатор RUN (1-й столбец)в таблице).

>Cluster 0
0   108nt, >ERR123456.1016542.1... *             1650  #matching RUN ID
1   108nt, >ERR123456.3114223.2... at +/93.52%   1650
2   108nt, >ERR345678.217087.1... at -/89.81%    2350
3   108nt, >ERR345678.291581.2... at -/92.59%    2350
4   108nt, >ERR567890.3381351.2... at +/87.96%   1520
5   108nt, >ERR987654.126640.2... at -/86.11%    3960
6   108nt, >ERR987654.2492930.2... at +/84.26%   3960
7   108nt, >ERR987654.3327702.1... at +/92.59%   3960
>Cluster 1
0   108nt, >ERR876543.626414.2... *              4520
1   108nt, >ERR123456.3213598.2... at +/85.19%   1650
2   108nt, >ERR567890.1158706.2... at +/97.22%   1520
3   108nt, >ERR345678.146372.1... at -/88.89%    2350
4   108nt, >ERR765432.201531.2... at -/92.59%    2550
5   108nt, >ERR765432.2770540.1... at -/87.04%   2550

1 Ответ

0 голосов
/ 04 марта 2019
$ awk 'NR==FNR{map[$1]=$2; next} {print $0, map[$2]}' FS='\t' tab.txt FS='[>.]' OFS='\t' cd.txt
>Cluster 0
0   108nt, >ERR123456.1016542.1... *    1650
1   108nt, >ERR123456.3114223.2... at +/93.52%  1650
2   108nt, >ERR345678.217087.1... at -/89.81%   2350
3   108nt, >ERR345678.291581.2... at -/92.59%   2350
4   108nt, >ERR567890.3381351.2... at +/87.96%  1520
5   108nt, >ERR987654.126640.2... at -/86.11%   3960
6   108nt, >ERR987654.2492930.2... at +/84.26%  3960
7   108nt, >ERR987654.3327702.1... at +/92.59%  3960
>Cluster 1
0   108nt, >ERR876543.626414.2... *     4520
1   108nt, >ERR123456.3213598.2... at +/85.19%  1650
2   108nt, >ERR567890.1158706.2... at +/97.22%  1520
3   108nt, >ERR345678.146372.1... at -/88.89%   2350
4   108nt, >ERR765432.201531.2... at -/92.59%   2550
5   108nt, >ERR765432.2770540.1... at -/87.04%  2550
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...