- Adicione a opção
-rased(para conseguir usar expressões regulares estendidas; normalmente não entende+). - Coloque seu script
sedentre aspas (preferencialmente aspas simples). -
Altere
$1e$2no seu script parae:sed -re 's/(._A[0-9]+)(_B[0-9].)/_FOO/'
Além disso,
- Para maior clareza, talvez você queira alterar
'…'para$(…)- veja este , este , e isto - ou seja, manipule oecho | sedda mesma maneira que você manipula ols. - É melhor dizer
for f in *(em vez defor f in $(ls)). - Você deve citar referências de variáveis do shell (por exemplo,
echo "$f") a menos que você tenha uma boa razão para não e você tem certeza que sabe o que está fazendo.