Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/10/2006, 16h03   #1
Invité de passage
 
Inscription : octobre 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 2
Points : 1
Points : 1
Envoyer un message via MSN à fde_amadeus
Par défaut N'avoir que les noms de fichier via la commande ls -l

Bonjour à toutes et tous.

Il peut arriver qu'une commande de redirection erronée créé un fichier ordinaire dans le répertoire /dev, parfois avec une taille conséquente dans le cas d'un mauvais nom de lecteur de bande de sauvegarde, de plus ce fichier peut avoir un nom comportant un caractère non affichable.

Pour la recherche, pas de problème.
Code :
1
2
3
4
#cd /dev
#ls -lq | grep "^[-]"
-rw-r-----   1 root     system            0 Oct 26 10:13 lp0?
-rw-r-----   1 root     system            0 Oct 26 12:53 lp0??
La question est : Comment supprimer de façon directe ce(s) fichier(s) par la commande rm en fonction du résultat de la commande ls -l | grep "^[-]" ?
Le nom du fichier se trouvant en fin de ligne et les séparateurs de colonnes étant des espaces et non des Tab, cut n'est pas exploitable et rm `ls -l | grep "^[-]"` non plus.

Pour info : AIX 5

Merci de votre aide.
fde_amadeus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2006, 18h16   #2
Membre Expert
 
Avatar de narmataru
 
Inscription : décembre 2002
Messages : 1 423
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2002
Messages : 1 423
Points : 1 491
Points : 1 491
Bonjour,
Peut être pourrais-tu utilier find qui permet de trouver des fichier selon leur type et de faire une action dessus.
Citation:
-type c
Fichier du type c :
b Fichier spécial en mode bloc (avec tampon)
c Fichier spécial en mode caractère (sans tampon)
d Répertoire
p Tube nommé (FIFO)
f Fichier régulier
l Lien symbolique, n'est jamais vrai si les options -L ou -follow sont actives, à moins que le lien symbolique ne soit cassé. Si vous
voulez rechercher des liens symboliques alors que -L est actif, utilisez -xtype.
s Socket
D Door (Solaris)
Je verrais quelque chose du style :

Citation:
find /dev/ -type f -exec rm {} \;
(je n'ai pas testé la commande et c'est pas sure qu'elle fonctionne sur AIX)
__________________
Reportage d'Arte sur Linux
narmataru est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2006, 18h33   #3
Invité de passage
 
Inscription : octobre 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 2
Points : 1
Points : 1
Envoyer un message via MSN à fde_amadeus
Super !!! MERCI !

Effectivement, ça fonctionne.

J'avais bien regardé dans le manuel AIX mais le -type f correspondait à plain file alors que je cherchais regular or normal file... Désolé.

-type Type
Evaluates to the value True if the Type variable specifies one of the following values:
b Block special file
c Character special file
d Directory
f Plain file
l Symbolic link
p FIFO (a named pipe)
s Socket

Bonne soirée.

Pour ma première visite sur ce site, ce n'est que du bonheur...
fde_amadeus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h07.


 
 
 
 
Partenaires

Hébergement Web