Voici un script qui supprime (récursivement) tous les fichiers finissant par un ~ (et générés automatiquement par un éditeur de texte) uniquement si le fichier original (sans le tild) existe.
Je n'ai pas continué, mais on peut l'améliorer: vérifier les dates des fichiers, gérer les autres types de fichier temporaire... Avis aux amateurs.
#! /bin/bash
# Supprime tous les fichiers *~ s'il existe sans ~ dans le répertoire passé en paramètre.
# Si pas de répertoire passé en paramètre, on prend le rép courant
if [ $# -lt 1 ]
then
nomrep=.
else
nomrep=$1
fi
listefich=`find $nomrep -name "*~"`
for i in $listefich
do
ficsans=`echo $i|tr -d '~' `
if test -f $ficsans
then
rm $i
else
echo "fichier original inexistant"
fi
done
exit 0
# Re: Supprimer les fichiers avec un ~
Posté par jm trivial (site web personnel) . Évalué à 1.
[^] # Re: Supprimer les fichiers avec un ~
Posté par zelyph . Évalué à 0.
[^] # Re: Supprimer les fichiers avec un ~
Posté par zelyph . Évalué à 0.
[^] # Re: Supprimer les fichiers avec un ~
Posté par jm trivial (site web personnel) . Évalué à 2.
[^] # Re: Supprimer les fichiers avec un ~
Posté par Vivi (site web personnel) . Évalué à 1.
ficsans=${i%?}
# Re: Supprimer les fichiers avec un ~
Posté par Geo Vah . Évalué à 3.
C'est plus petit, ca utilise pas mal de chose du shell, et c'est pour se faire la main .....
Ma contrib a moi
# Re: Supprimer les fichiers avec un ~
Posté par jmfayard . Évalué à 3.
ce sont les fichiers de sauvegarde crees par VIM
Dans ce cas tu ferais mieux de mettre dans ton .vimrc
:set backupdir=$HOME/tmp
pour qu'il les foute la et non dans ton dossier courant.
Sinon moi je me suis fait ce script pour nettoyer mon dossier courant
$ cat `which squeeze`
#!/bin/sh
# SQUEEZE efface les fichiers superfuls et compacte les fichiers.tex et
# readme
#
echo "nettoyage de $PWD"
find "$PWD" \( -name \*~ -or -name \*.o -or -name \*.log -or -name \*\# \) -exec rm -f {} \;
find $PWD \( -name \*.tex -or -name \*README\* -or -name \*readme\* \) -exec gzip -9 {} \;
find "$PWD" -name ".*.swp" -exec rm -f {} \;
[^] # Re: Supprimer les fichiers avec un ~
Posté par jm trivial (site web personnel) . Évalué à 1.
Mais le but est de nettoyer tout mon compte, de manière régulière, sans perdre d'infos...
Le script, je l'ai écrit au tout début de l'année, quand je n'avait pas encore suivi mon module de Bash à la fac. Maintenant que c'est fait (le module, quoi), ce code me parait vraiment très améliorable. je l'ai juste mis en ligne pour échanger des idées... Je suis sûr qu'il y a plein de Linuxiens qui ont de super scripts, mais qui les gardent jalousement...
D'autres part, tes scripts sont intéressants, mais ne vérifient pas que l'original existe. C'est pratique pour ne pas perdre sans faire attention d'infos utiles...
[^] # Re: Supprimer les fichiers avec un ~
Posté par Glenn Y. R. (site web personnel, Mastodon) . Évalué à 1.
Mais c'est tout de suite plus dur quand l'original a changé de nom...
[^] # Re: Supprimer les fichiers avec un ~
Posté par jm trivial (site web personnel) . Évalué à 1.
Une solution: faire un file sur tous les fichiers du répertoire, puis un diff sur tous les fichiers du même type, puis estimer l'écart entre deux fichiers, puis...
Pas simple du tout.
Si on se limite aux fichiers qui n'ont pas changé de nom, c'est pas complet, mais ca peut être pratique.
[^] # Re: Supprimer les fichiers avec un ~
Posté par samds . Évalué à 2.
#!/bin/sh
echo "Removing foo files ... "
echo "- *~ ..."
rm -vf *~
echo "- .*~ ..."
rm -vf .*~
echo "- #* ..."
rm -vf \#*
echo "- .#* ..."
rm -vf .\#*
echo "Cleaning complete."
vala :)
[^] # Re: Supprimer les fichiers avec un ~
Posté par jm trivial (site web personnel) . Évalué à 1.
# Re: Supprimer les fichiers avec un ~
Posté par ced . Évalué à 1.
[^] # Re: Supprimer les fichiers avec un ~
Posté par Vivi (site web personnel) . Évalué à 2.
find . -name '*~' | xargs rm -f
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.