Bem, você poderia simplesmente ignorar os erros rm
, mas isso não é elegante:).
Adicione uma função como esta ao seu ~ / .bashrc:
function cleantex () {
find . -name "$1*" | grep -vP '.tex$|.pdf$' | while read -r i; do rm "$i"; done
}
Você então o chama com o início (único) de seu nome de arquivo da seguinte forma:
$ cleantex mytexfile
Ele excluirá todos os arquivos no diretório fornecido que começam com $file
e não terminam em .tex
ou .pdf
. O $
garante que a correspondência esteja apenas no final do arquivo, a extensão. Caso contrário, ele ignorará arquivos como footexfoo.aux
porque o nome do arquivo contém tex
. Você pode adicionar quantas extensões desejar para ignorar:
function cleantex () {
find . -name "$1*" | grep -vP '.tex$|.pdf$|.foo$|.bar$' | while read -r i; do rm "$i"; done
}
Se você quiser remover esses arquivos de dentro de um script bash, você realmente não precisa da função. Basta adicionar esta linha ao seu script (alterando mytexfile
para o nome do arquivo tex):
find . -name "mytexfile*" | grep -vP '.tex$|.pdf$' | while read -r i; do rm "$i"; done
Por fim, se você quiser fazer isso para todos os arquivos tex, seja qual for o nome deles, use:
find . -name "*.tex" | sed 's/\.tex$//' | while read -r name; do
find . -name "$name"* | grep -vP '.tex$|.pdf$' | while read -r i;
do
rm "$i";
done;
done