Uma maneira de fazer isso:
for f in ./!(*.bup); do
cp "$f" "$f.bup"
done
Uma maneira um pouco mais segura:
for f in ./!(*.bup); do
if [ -f "$f" ]; then
cp -i "$f" "$f.bup"
fi
done
Eu tenho meu próprio arquivo .bashrc personalizado. Eu pratico minha codificação muito, então eu uso texto bruto e JDK.
Eu uso "shopt -s extglob".
Eu preciso criar uma cópia .bup de cada arquivo (não recursivamente) e matá-los depois do trabalho.
Então eu fiz:
alias do_bups='cp ./!(*.bup) ./*.bup'
alias do_bups_clear='rm ./*.bup'
O que acontece:
cp: target './*.bup' is not a directory
Como copiar arquivos adicionando o postfix?