Supprimer les fichiers avec une taille à zéro

Résolu
OlivrT Messages postés 323 Date d'inscription   Statut Membre Dernière intervention   -  
OlivrT Messages postés 323 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
comment pourrais-je supprimer les fichiers d'un de mes répertoires qui ont une taille à zéro ?
Egalement, dans le même répertoire j'ai des fichiers tels que :
FichierA
FichierA.txt
FichierB
FichierB.txt
comment pourrais-je supprimer ceux qui n'ont PAS l'extension "txt" ?

Merci d'avance


A voir également:

4 réponses

aragon6980 Messages postés 1344 Statut Membre 252
 
find . -type f -size 0c -delete
5
OlivrT Messages postés 323 Date d'inscription   Statut Membre Dernière intervention   36
 
find . -type f -size 0c m'affiche les fichiers dont la taille est zéro, merci, MAIS le -delete ne fonctionne pas :-/
Erreur :

find: bad option -delete
find: [-H | -L] path-list predicate-list
1
aragon6980 Messages postés 1344 Statut Membre 252
 
essaye ceci alors (remplace rep/A par ton dossier

#!/bin/sh

# suppression de tous les fichiers vides (taille=0) dans /repA
for ERASERHEAD in 'find /repA/ -size 0'
do rm -f $ERASERHEAD
done
0
zipe31 Messages postés 38797 Date d'inscription   Statut Contributeur Dernière intervention   6 434
 
Salut,

 for i in *;do if [ ! -s "$i" ]; then echo "$i est vide";fi;done

Si c'est ce que tu espères, remplace "echo..." par la commande adéquate ;-))
1
OlivrT Messages postés 323 Date d'inscription   Statut Membre Dernière intervention   36
 
On y est presque :-) Voici ce que j'ai écris :

cd $monrep
for i in *
do 
	if [ ! -s "$i" ] 
	then 
		echo "$i est vide"
	else
		echo "$i n est pas vide"
	fi
done


Le problème c'est qu'il m'affiche même les noms des répertoires ...
Comment je peux parcourir uniquement les fichiers ?
0
zipe31 Messages postés 38797 Date d'inscription   Statut Contributeur Dernière intervention   6 434
 
Tu es sur quel système ? Quelle distrib ?

Quelle est ta version de find ?
0
OlivrT Messages postés 323 Date d'inscription   Statut Membre Dernière intervention   36
 
Je débute moi ... comment je réponds à ces questions ?
Je peux te dire que c'est un serveur Unix avec Solaris 8 et j'utilise la libraire ksh, ça répond à tes questions :-/ ?
0
zipe31 Messages postés 38797 Date d'inscription   Statut Contributeur Dernière intervention   6 434
 
Ok pour Solaris et un shell ksh.
Est-ce que cette commende :

ls -F | grep -v '/$'

Ne te renvoie que les fichiers ?
0
OlivrT Messages postés 323 Date d'inscription   Statut Membre Dernière intervention   36
 
Oui. Je ne sais pas pourquoi mais certains sont suivis d'une étoile .. :
fichiera.txt
e.monscrippt*
0
OlivrT Messages postés 323 Date d'inscription   Statut Membre Dernière intervention   36
 
Ca ne fonctionne pas :-( et je n'ai pas d'erreur :-/

Mais j'ai une autre idée mais j'aurais besoin de toi pour démarrer.
Comment lister les fichiers d'un répertoire ?

La commande suivante : mavar='du -b $Fichier | awk '{ print $1 }''

me retourne la taille d'un fichier, si je pouvais faire une boucle et sortir dans une variable le nom du fichier, il serait facile après de supprimer les fichiers dont la taille est à zéro.
0