Если ваши шаблоны действительно такие же, как в вашем примере, вы можете использовать
sed -e '/pattern[1-3]/ s/asdf/ghjk/g'
Если шаблоны не очень похожи и ваша команда sed
поддерживает расширенные регулярные выражения, вы можете использовать
sed -E -e '/(pattern1|pattern2|pattern3)/ s/asdf/ghjk/g'
# ^^ use extended regular expressions
# for GNU sed, use -r or escape (, |, and ) with \
Если ваша команда sed
не поддерживает расширенные регулярные выражения, вам, возможно, придется обратиться к awk
или perl
:
perl -ple '/(pattern1|pattern2|pattern3)/ && s/asdf/ghjk/g'