The UNIX and Linux Forums  
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Pattern Matching comte d'urgence krabu De programmation et de script Shell 6 07-31-2008 07:23 PM
Awk compter correspondance adresse IP new_buddy De programmation et de script Shell 3 05-28-2008 06:24 AM
la suppression de l'extension de tous les noms de fichiers dans un dossier johnmcclintock UNIX pour les nuls Questions et réponses 5 05-21-2008 09:23 AM
commande pour compter dans le dossier décompressé arunkumar_mca UNIX pour les nuls Questions et réponses 4 10-17-2007 03:19 PM
trouver les fichiers en double de la taille et la recherche de filtrage et de son chef jerome Sukumar De programmation et de script Shell 2 12-01-2006 04:20 AM

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 07-02-2009
tententen tententen is offline
Registered User
  
 

Join Date: Dec 2008
Messages: 17
Comptez les noms de fichiers dans un dossier

Salut à tous,

J'ai 4 fichiers par exemple le nom

abc01012009.txt
abc02012009.txt
abc03012009.txt
abc04012009.txt

dans un dossier. Je voudrais tout d'abord le fichier de sauvegarde la plus récente disponible, dans ce cas, la dernière date disponible, abc04012009.txt à son sous-dossier du nom de sauvegarde, puis renommez le fichier à abc.txt, de sorte que me laisse avec

abc01012009.txt
abc02012009.txt
abc03012009.txt
abc.txt

ensuite, il lance les commandes je vais, et une fois que les commandes sont terminées, il passer par la liste des fichiers à nouveau, et mes commandes en boucle, jusqu'à ce qu'il n'y ait plus de fichiers nommé abcDDMMYYYY.txt sont available.Can aider quelqu'un s'il vous plaît, je vous remercie so much!.

Rgds
  #2 (permalink)  
Old 07-02-2009
vidyadhar85's Avatar
vidyadhar85 vidyadhar85 is offline Forum Staff  
Modérateur (Le Tuteur)
  
 

Date d'inscription: juin 2008
Lieu: INDE
Posts: 1,400
vous dire cela?
Code:
while : ; do
ls -1rt abc[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].txt > /dev/null
if [ $? -eq 0 ] ;then
lastfile=`ls -1rt abc[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].txt|tail -1`
cp $lastfile backup/
mv $lastfile abc.txt
run your set of commands here
else
exit
fi
done
  #3 (permalink)  
Old 07-02-2009
tententen tententen is offline
Registered User
  
 

Join Date: Dec 2008
Messages: 17
oui merci cela a fonctionné!.

sauf quand il n'y a plus de fichiers à gauche qui correspond à la configuration, je reçois ce message d'erreur: P

abc [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]. txt: Aucun fichier ou répertoire

.

conseiller s'il vous plaît
  #4 (permalink)  
Old 07-02-2009
scottn scottn is online now Forum Advisor  
Membre VIP
  
 

Date d'inscription: juin 2009
Lieu: Zürich, CH
Messages: 1057
Le premier "ls" est utilisé pour tester si des fichiers correspondant à ces critères se trouvent. La sortie de ls est "jeté" (dans / dev / null) - le point étant de savoir s'il ya de tels fichiers, pas de les énumérer. Si des fichiers sont trouvés, le "if [$?-Eq 0]" sera vrai (le ls sens succès retourné 0 - des fichiers ont été trouvés). Mais ls va écrire à l'erreur standard si aucun fichier n'est trouvé. Vous pouvez vous débarrasser de l'erreur par la direction d'erreur standard vers / dev / null aussi. Le moyen le plus simple est de diriger l'erreur standard sur la sortie standard (qui vous jeté à / dev / null), alors ...

Variation:

Code:
ls -1rt abc[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].txt > /dev/null
To:

Code:
ls -1rt abc[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].txt > /dev/null 2>&1
J'espère que cette explication a été et n'est pas du tout ennuyeux à lire!

Dernière édition par scottn; au 07.02.2009 08:10 PM..
  #5 (permalink)  
Old 07-03-2009
tententen tententen is offline
Registered User
  
 

Join Date: Dec 2008
Messages: 17
Merci beaucoup!. Really appreciate it!
Reply

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 05:16 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0