При использовании переменных в аргументах команды нельзя заключать их в простые кавычки.
При устранении неполадок в сценариях оболочки попробуйте выполнить команды одну за другой, ... это поможет вам сузить круг проблем.
sed -n "/part=$var/,/^$/p" conf.cfg
Все шаблоны плохие, они соответствуют любому ATGC в любом порядке. Правильное регулярное выражение:
^((AT)*|(GCC)*)$
Это делает то, что вы написали.
Похоже, вы хотите, чтобы "AT" повторялось как минимум дважды, или, в вашем другом примере, "GCC" повторялось как минимум дважды. Это будут соответственно:
(AT){2,}
(GCC){2,}
Обратите внимание, что вам нужно будет использовать grep -E
для сопоставления этих шаблонов. (Не существует единого согласованного синтаксиса для регулярных выражений, который одинаково работал бы в разных инструментах, поэтому вам, возможно, придется адаптировать его в зависимости от того, что вы в конечном итоге используете.)