То, что вы просите, это перекрестная -табуляция(или сводная таблица ). Вы можете достичь этого, используя GNU Datamash
datamash --header-in --whitespace crosstab id4,id1 unique count2 < file
S1001 S1002 S1003 S1004
ARHGAP12 3698 14 2263 816
ARHGAP15 93 5381 3147 4981
ARHGAP17 1889 105 50 816
ARHGAP18 1483 5353 330 970
ARHGAP19 596 5764 1595 4981
(вы можете пропустить --whitespace
, если ваши данные разделены табуляцией ).
Однако могут существовать специальные инструменты биоинформатики, которые лучше подходят для этой задачи.
Распознаватель DNS в Linux плохо справляется с концепцией нескольких отдельных пространств имен DNS. Если вы отправляете запрос на конкретный DNS-сервер, и он возвращает авторитетный NXDOMAIN
, это в основном говорит: «Я говорю вам абсолютно точно, что это имя не существует», и преобразователь «знает», что оно не существует. не нужно искать дальше. Я не знаю ни одной опции, которую вы можете установить в resolv.conf
или где-либо еще, что могло бы изменить это поведение.
Всякий раз, когда мне приходилось делать что-либо подобное, единственным выходом, который я находил, было запустить собственный DNS-сервер, чтобы обеспечить настройку «разделенного DNS», и настроить его таким образом, чтобы определенные имена разрешались путем запроса одного набора DNS-серверы и другие имена разрешаются путем запроса другого набора. Альтернативное решение, предложенное в комментарии к использованию dnsmasq
, также жизнеспособно.