bash alias para criar cópias de arquivos .bup de vários arquivos

0

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?

    
por NapoleonTheCake 16.09.2016 / 20:29

1 resposta

0

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
    
por 16.09.2016 / 20:37