Измените шаблон с помощью sed только для совпадающих строк в df-файле - PullRequest
0 голосов
/ 12 марта 2019

У меня есть фрейм данных, такой как

A   B   C   D
Sp1 pattern1    unknown_species family_a
Sp2 pattern1    unknown_species family_a
Sp3 pattern3    unknown_species family_a
Sp4 pattern1    unknown_species family_a
Sp5 pattern5    unknown_species family_a

И я хотел бы с помощью команды bash sed 's@unknown_species@known_species@g', но только для строк с "pattern1"

Так что я долженполучить здесь в примере:

A   B   C   D
Sp1 pattern1    known_species   family_a
Sp2 pattern1    known_species   family_a
Sp3 pattern3    unknown_species family_a
Sp4 pattern1    known_species   family_a
Sp5 pattern5    unknown_species family_a 

Спасибо за ваше время.

1 Ответ

1 голос
/ 12 марта 2019

Не могли бы вы попробовать следующее. Здесь ищите строку сначала в строке, если она найдена, затем выполняйте замену (метод search_string / s / old / new)

sed '/pattern1/s/unknown_species/known_species/'  Input_file
...