в дополнение к ответу Павла, если вы хотите сохранить возможность цветного вывода, вы можете использовать xterm -88color
echo 'export TERM=xterm-88color' >> ~/.bashrc
source ~/.bashrc
Вот что вам следует использовать:
awk '/MAM 002/{cnt++} {sub(/TLR[0-9]+/,"TLR"(cnt+0))} 1' file
но он, конечно, не тестировался (и может не делать то, что вы хотите, и может быть лучший способ сделать то, что вы хотите ), так как вы не предоставили никаких образцов входных/выходных данных, которые мы могли бы протестировать.
Если я вас правильно понял, это может сработать:
Пример файла:
MAM 002
MAM 002
MAM 002
TLR241
Команда:
sed -i "s/TLR.*/TLR$(grep -c "MAM 002" < file)/" file
Выход:
MAM 002
MAM 002
MAM 002
TLR3