Supondo que nenhum dos seus arquivos tenha espaços:
for i in *k120*; do
mv -- "$i" "$i.dat"
done
Eu tenho vários arquivos gerados por um script, mas deixei de ter o script anexando uma extensão de arquivo.
Cada nome de arquivo contém a substring k120
e nenhum outro arquivo no diretório contém essa subcadeia.
Eu gostaria de acrescentar a extensão .dat
a cada um desses arquivos, mas sou muito novo no bash (e shell scripts em geral) e não sei por onde começar; Como posso renomear arquivos com base em uma substring que eles contêm? Eu percebi que poderia usar | grep k120
, mas além disso não tenho certeza.
Eu poderia facilmente fazer isso com um loop for e com uma expressão regular, mas estou supondo que é o caminho errado (longo) para fazê-lo.
Tags bash rename shell-script