Сценарий оболочки для сравнения двух файлов и вывода строки, содержащей общее слово? - PullRequest
0 голосов
/ 15 апреля 2019

давайте рассмотрим два файла, файл 1 содержит три слова, а файл 2 содержит несколько строк. я хочу вывод, который должен содержать строки из файла 2, которые имеют слова в файле 1 и следующие 2 строки

Файл 1

EF-hand_motif
Ferritin
Manganese_catalase

Файл 2

a_1.out:The conserved site of Ferritin is found as: ['EFKEAFSL', 'EAELQDMI', 'EMIREADI']
a_1.out:Length of conserved site: 32
a_1.out:Position: 0-31
g_1.out:The conserved site of EF-hand_motif is found as: ['DADGNGTIDFPE', 'DKDGNGYISAAE']
g_1.out:Length of conserved site: 28
g_1.out:Position: 0-27
d_1.out:The conserved site of Hemerythrin is found as: ['ELRH']
d_1.out:Length of conserved site: 4
d_1.out:Position: 100-103

Требуемый формат вывода

a_1.out:The conserved site of Ferritin is found as: ['EFKEAFSL', 'EAELQDMI', 'EMIREADI']
a_1.out:Length of conserved site: 32
a_1.out:Position: 0-31
g_1.out:The conserved site of EF-hand_motif is found as: ['DADGNGTIDFPE', 'DKDGNGYISAAE']
g_1.out:Length of conserved site: 28
g_1.out:Position: 0-27

1 Ответ

2 голосов
/ 15 апреля 2019

с использованием :

$ grep -Ff file1 -A 2 file2
a_1.out:The conserved site of Ferritin is found as: ['EFKEAFSL', 'EAELQDMI', 'EMIREADI']
a_1.out:Length of conserved site: 32
a_1.out:Position: 0-31
g_1.out:The conserved site of EF-hand_motif is found as: ['DADGNGTIDFPE', 'DKDGNGYISAAE']
g_1.out:Length of conserved site: 28
g_1.out:Position: 0-27
  • -F означает сопоставление фиксированных строк вместо регулярных выражений,
  • -f file означает, что считанные шаблоны должны быть сопоставленыот file,
  • -A n означает печать n строк конечного контекста после соответствующей строки.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...