Se este é um caso único, acho que o processo a seguir é o melhor ajuste entre conveniência e robustez:
-
Use ls com um padrão para selecionar os arquivos desejados e redirecionar a saída para um arquivo (o padrão é apenas um exemplo, mas não é crítico por causa da próxima etapa):
ls member_net.*.control > file.list -
Edite
file.listno seu editor favorito: livre-se de quaisquer arquivos que você não queira alterar (é por isso que o padrão acima não é crítico); Certifique-se de que inclui todos os arquivos que você deseja alterar, adicionando todos os que faltam manualmente, se necessário; altere cada linha dexxxparamv xxx XXX, onde XXX é igual a xxx, mas com a data modificada. Essa etapa depende do seu editor, mas também pode ser feita usandosedno arquivo original epastepara colar os arquivos juntos:sed 's/2017-04-20/2017-04-21/g' file.list > newfile.listpaste file.list newfile.list > bothfiles.listsed 's/^/mv /' bothfiles.list > commands.list -
Agora você deve ter um arquivo
commands.listque contenha linhas de comando no formuláriomv OLDNAME NEWNAME -
Verifique cuidadosamente para garantir que cada linha de comando esteja correta e completa.
-
Então você pode executar os comandos colocando o arquivo no seu shell:
cat commands.list | bash
O que eu acho atrativo é que eu posso verificar o arquivo e ter certeza de que está exatamente certo e então sem tocá-lo em tudo executar todos os comandos nele e ter certeza que ele fará o coisa certa.
Isso não é tão geral quanto escrever um script de shell, mas geralmente é uma técnica útil para lembrar.