#sed
#sed
Вопрос:
У меня есть фрейм данных, такой как
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:
Не могли бы вы, пожалуйста, попробовать следующее. Здесь сначала найдите строку в строке, если она найдена, затем замените ее (search_string/s / старый / новый метод)
sed '/pattern1/s/unknown_species/known_species/' Input_file