Извлечь файл с двумя совпадающими строками одновременно

В некоторых случаях можно попытаться обновить или переустановить пакет. Например, если вы удалите или испортите файл libpthread.so внутри/usr/lib ,вы можете переустановить верхний уровень и пакет контейнера, напримерglibc , чтобы восстановить файл. Эта процедура будет выполняться библиотекой зависимостей и проверкой файлов во время переустановки или обновления.

Например, попробуйте:

# to recover and take libpthread.so back.
sudo yum install glibc   
2
13.08.2019, 15:17
2 ответа

Вы можете использовать awkилиgrep(и не использовать цикл for):

grep -f species master_record

-fпозволяет передать файл со списком регулярных выражений


или

awk 'NR==FNR{a[$0];next}(($3 " " $4) in a)' file1 file2

Это почти такая же команда, как ваша, за исключением соответствующего элемента массива.

2
27.01.2020, 22:02

Используя Miller (https://github.com/johnkerl/miller), вы можете выполнить объединение

mlr --nidx --fs " " --repifs join -j 1,2 -l 3,4 -r 1,2 -f master_record.csv species_list.csv

Это дает вам

243232 core Methanocaldococcus jannaschii DSM2661
243232 core Methanocaldococcus jannaschii DSM2661
192952 periphery Methanosarcina mazei Go1
192952 periphery Methanosarcina mazei Go1
192952 periphery Methanosarcina mazei Go1
224325 core Archaeoglobus fulgidus DSM4304

В желаемом результате у вас есть 5 раз "Methanosarcina mazei". Почему?

В основной _записи у вас это всего три раза.

1
27.01.2020, 22:02

Теги

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