Remova alguns arquivos, mas não todos

0

Eu tenho um diretório com alguns arquivos, especialmente .tex files e aqueles criados por pdflatex . Eu quero ser capaz de dar um nome name e remover todos os arquivos chamados name exceto name.tex

Eu tentei

rm name.* !(name.tex)

mas removeu todos os arquivos do diretório (mesmo os chamados name2) Eu suponho que posso criar uma função ou algo assim, mas se eu não precisar ...

    
por Ccile 26.06.2017 / 21:59

1 resposta

1

Desde que a globalização estendida do bash esteja habilitada (que é no padrão do Ubuntu ~/.bashrc ), você pode usar name.!(tex) para corresponder a name seguido por qualquer extensão de ponto, exceto .tex

dado

$ ls name*
name  name2  name.bar  name.foo  name.tex  name.txt

então

$ ls name.!(tex)
name.bar  name.foo  name.txt

Para remover os arquivos correspondentes, substitua ls por rm (ou - mais seguro - por rm -i ).

    
por steeldriver 26.06.2017 / 22:08