Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Unix
Unix Forum d'entraide sur les systèmes Unix et dérivés (*BSD, AIX, etc.). Avant de poster ->F.A.Q BSD F.A.Q. Aix
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 03/05/2011, 10h09   #1
Nouveau Membre du Club
 
Inscription : mai 2008
Messages : 73
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 73
Points : 33
Points : 33
Par défaut Recuperer la liste des derniers fichiers créés

Bonjour,
Je souhaite trier mon repertoire pour ne recuperer que les fichiers ayant le nom sous la forme :Nom_BP12.0.2-28a.20110414.130006.log , du plus recent au plus ancien. La liste s'arrête quand j'ai les deux fichiers ayant de n° 29 et 30( exemple pour le fichier 30: Nom_BP12.0.2-30.20110414.130115.log )
Voici le contenu de mon repertoire.

Code :
1
2
3
4
5
6
-rwxr-xr-x   1 arbdev3  arboradm    5515 Apr 14 13:00 -rwxr-xr-x   1 arbdev3  arboradm    6345 Apr 14 13:01 Nom_BP12.0.2-28a.20110414.130006.log
-rwxr-xr-x   1 arbdev3  arboradm    5636 Apr 14 13:01 Nom_BP12.0.2-30.20110414.130115.log
-rwxr-xr-x   1 arbdev3  arboradm    5650 Apr 14 13:02 Nom_BP12.0.2-30a.20110414.130157.log
-rwxr-xr-x   1 arbdev3  arboradm    5708 Apr 14 13:03 Nom_BP12.0.2-32a.20110414.130239.log
-rwxr-xr-x   1 arbdev3  arboradm    5019 Apr 14 13:03 Nom_BP12.0.2-32.20110414.130320.log
-rwxr-xr-x   1 arbdev3  arboradm   13596 Apr 14 13:05 Nom_BP12.0.2-29.20110414.130358.log
Merci d'avance.
Decon est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 03/05/2011, 10h47   #2
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 534
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 534
Points : 7 743
Points : 7 743
Code :
ls -lt Nom_BP12.0.2-[0-2][0-9]a.*.log Nom_BP12.0.2-30a.*.log
je suis pas sur d'avoir bien compris la demande
c'est ça que tu voulais comme liste ???
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2011, 11h24   #3
Nouveau Membre du Club
 
Inscription : mai 2008
Messages : 73
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 73
Points : 33
Points : 33
C'est à peu près ça.
Mais ce que je veux c'est que dans la liste ci-dessous, qu'il ne retiennent les lignes que jusqu'à la ligne 10 à cause du n° 30(jute avant le 28) qui correspond à la dernière version 30 installée.
Mon but est de lancer par la suite un rollback sur les 10 premières( ce n'est pas le chiffre 10 qui m'intéresse).
En réalité, j'ai un script qui doit installer les versions 29 et 30; mais pour cela, il ne doit pas y avoir ces versions déjà installées.
Donc ce que je souhaite faire, c'est de désinstaller ces versions avant. Et pour cela, toutes les versions installées entretemps, doivent être désinstallées aussi (exemple du 30a ou 29a).
J'espère avoir été un peu plus clair.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
-rw-rw-r--   1 arbdev3  arboradm    7679 May  2 11:53 Nom.0.2-30.20110502.115217.log
-rwxr-xr-x   1 arbdev3  arboradm   15647 May  2 11:45 Nom.0.2-29.20110502.114254.log
-rwxr-xr-x   1 arbdev3  arboradm   15698 May  2 11:01 Nom.0.2-29.20110502.105858.log
-rwxr-xr-x   1 arbdev3  arboradm   20298 May  2 10:55 Nom.0.2-29.core_bp_duct_educt_mps.CU1DEV3.22333.20110502.105456.log
-rwxr-xr-x   1 arbdev3  arboradm   20330 May  2 10:55 Nom.0.2-29.core_bp_duct_educt_mps.CU2DEV3.22334.20110502.105456.log
-rwxr-xr-x   1 arbdev3  arboradm   18598 May  2 10:55 Nom.0.2-29.core_bp_duct_educt.CATDEV3.22332.20110502.105456.log
-rwxr-xr-x   1 arbdev3  arboradm    3622 Apr 29 17:31 Nom.0.2-30.20110429.173020.log
-rwxr-xr-x   1 arbdev3  arboradm   13596 Apr 14 13:05 Nom.0.2-29.20110414.130358.log
-rwxr-xr-x   1 arbdev3  arboradm    5650 Apr 14 13:02 Nom.0.2-30a.20110414.130157.log
-rwxr-xr-x   1 arbdev3  arboradm    5636 Apr 14 13:01 Nom.0.2-30.20110414.130115.log
-rwxr-xr-x   1 arbdev3  arboradm    6345 Apr 14 13:01 Nom.0.2-28a.20110414.130006.log
-rwxr-xr-x   1 arbdev3  arboradm    8899 Apr 14 13:01 Nom.0.2-28a.core_bp.CU1DEV3.815.20110414.130051.log
-rwxr-xr-x   1 arbdev3  arboradm    8900 Apr 14 13:01 Nom.0.2-28a.core_bp.CU2DEV3.816.20110414.130051.log
-rwxr-xr-x   1 arbdev3  arboradm    5515 Apr 14 13:00 Nom.0.2-27a.20110414.125927.log
-rwxr-xr-x   1 arbdev3  arboradm    5500 Apr 14 12:59 Nom.0.2-27.20110414.125846.log
-rwxr-xr-x   1 arbdev3  arboradm    5509 Apr 14 12:58 Nom.0.2-26.20110414.125807.log
-rwxr-xr-x   1 arbdev3  arboradm    6351 Apr 14 12:58 Nom.0.2-25.20110414.125701.log
-rwxr-xr-x   1 arbdev3  arboradm    8681 Apr 14 12:57 Nom.0.2-25.core_bp.CU1DEV3.18010.20110414.125744.log
-rwxr-xr-x   1 arbdev3  arboradm    8680 Apr 14 12:57 Nom.0.2-25.core_bp.CU2DEV3.18011.20110414.125744.log
-rwxr-xr-x   1 arbdev3  arboradm    6061 Apr 14 12:57 Nom.0.2-24.20110414.125617.log
-rwxr-xr-x   1 arbdev3  arboradm    6921 Apr 14 12:56 Nom.0.2-23.20110414.125451.log
-rwxr-xr-x   1 arbdev3  arboradm    6658 Apr 14 12:56 Nom.0.2-23.ordering.CU1DEV3.10630.20110414.125552.log
-rwxr-xr-x   1 arbdev3  arboradm    6658 Apr 14 12:56 Nom.0.2-23.ordering.CU2DEV3.10631.20110414.125552.log
-rwxr-xr-x   1 arbdev3  arboradm    3993 Apr 14 12:55 Nom.0.2-23.ordering.CATDEV3.10629.20110414.125552.log
-rwxr-xr-x   1 arbdev3  arboradm    5559 Apr 14 12:54 Nom.0.2-22.20110414.125412.log
Decon est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/05/2011, 11h42   #4
Nouveau Membre du Club
 
Inscription : mai 2008
Messages : 73
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 73
Points : 33
Points : 33
Le but est donc de recupérer la liste de tous les fichiers installés depuis le dernier fichier 29 ou 30 du plus recent au plus ancien, et de les désinstaller dans ce ordre.
29 ou 30 car le 29 peut être plus ancien que le 30 et vice-versa.
Decon est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/05/2011, 12h53   #5
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 534
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 534
Points : 7 743
Points : 7 743
tu fais trop de tri dans un simple listage,

faudrait faire un
Code :
1
2
find .... -newer fichier_réfèrent ... -ls > tmp.file
sort ......... tmp.file  && rm tmp.file
un petit bout de code ... sinon tu auras pas le résultat escompté, d'autant plus que tu veux cette info pour un script , autant intégrer ça dans une fonction du script justement.
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2011, 13h10   #6
Nouveau Membre du Club
 
Inscription : mai 2008
Messages : 73
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 73
Points : 33
Points : 33
Merci pour ta réponse; mais étant débutant en prog shell, puis je te demander à quoi correspond les .... . Le fchier reférent c'est bien
Code :
NEUF_TELECOM_CEG_ENT_BP12.0.2-29*.*.log NEUF_TELECOM_CEG_ENT_BP12.0.2-3[0-9]*.*.log
Decon est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/05/2011, 16h11   #7
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 534
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 534
Points : 7 743
Points : 7 743
par exemple

Code :
1
2
3
touch toto
touch <une_date_anterieure> toto
find . -type f -name "*foo" -newer toto -ls  && rm toto
sortira dans l'ordre de résultat de la recherche les fichiers *foo plus récent que le fichier référent toto

tri le fichier bidule sur les colonnes 3,4
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2011, 17h41   #8
Nouveau Membre du Club
 
Inscription : mai 2008
Messages : 73
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 73
Points : 33
Points : 33
Merci
Decon est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/05/2011, 18h05   #9
Nouveau Membre du Club
 
Inscription : mai 2008
Messages : 73
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 73
Points : 33
Points : 33
J'ai un peu adapté ton code pour avoir ce que je voulais.
Pour info, le voici :
Code :
find /InstancesArbor/CATDEV3/KBP_APPLI/y/log \( -name 'Nom.0.2-29*.*.log' -o -name 'Nom.0.2-3[0-9]*.*.log' \) -ls | grep -v Nom.0.2-29.core_bp_duct_educt.*.log' | sort -r -n -t. +3 > tmp.file
Maintenant, ce que je voudrais, c'est depuis mon script initial(père), parcourir le fichier tmp.file en le lisant ligne par ligne faire une vérif ci:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
cat tmp.file | while read ligne
	do
		if [  $ligne contient "Nom.0.2-30.2*.log" ]
			then
				
		elif [ $ligne contient "Nom.0.2-29.2*.log" ]
			then
				
		elif [ $ligne contient "Nom.0.2-32.2*.log" ]
			then
				
		elif [ $ligne contient "Nom.0.2-32.a.2*.log" ]
			then
				
		elif [ $ligne contient "Nom.0.2-30.a.2*.log"]
			then
								
		else 
			echo ""
		fi
		
	done
La question est donc de savoir comment on vérifie qu'une ligne contient une chaine donnée. Aussi, est ce que cette syntaxe est correcte?
Decon est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/05/2011, 21h00   #10
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 534
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 534
Points : 7 743
Points : 7 743
tu es logique c'est bon...

coté syntaxe...c'est pas ça mais tu comprends le principe.

déjà on fait plustot

Code :
1
2
3
4
while read VARIABLE
do
......
done < fichier
ce que tu peux donc adapter en partant de :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
francois@trillian:~$ while read ligne; do  
> if grep -iq a <<<$ligne ; then echo ligne_a ; fi
> if grep -iq b <<<$ligne ; then echo ligne_b ; fi
> if grep -ivq [ab] <<<$ligne ; then echo ligne_autre ; fi
> done < toto.t
ligne_autre
ligne_autre
ligne_autre
ligne_a
ligne_b
ligne_autre
francois@trillian:~$ cat toto.t
1
2
3
A
b
c
francois@trillian:~$ rm toto.t
francois@trillian:~$
c'est pas optimisé mais c'est pour que tu réussisse du premier coup.
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2011, 09h13   #11
Nouveau Membre du Club
 
Inscription : mai 2008
Messages : 73
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 73
Points : 33
Points : 33
Merci, je vais essayer tout ça.
Decon est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/05/2011, 09h49   #12
Nouveau Membre du Club
 
Inscription : mai 2008
Messages : 73
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 73
Points : 33
Points : 33
J'ai une erreur à chaque fois.
Code :
syntax error at line n°_ligne_du_if: `<' unexpected
C'est un script sh que j'exécute.
Decon est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 04/05/2011, 11h41   #13
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 534
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 534
Points : 7 743
Points : 7 743
doit etre un problème de shell ...
entre bash / sh / ksh il y a parfois des différences..

utilises en entete de script pour forcer bash par exemple.
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/05/2011, 15h10   #14
Nouveau Membre du Club
 
Inscription : mai 2008
Messages : 73
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 73
Points : 33
Points : 33
Merci.
Decon est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/05/2011, 10h59   #15
Nouveau Membre du Club
 
Inscription : mai 2008
Messages : 73
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 73
Points : 33
Points : 33
Je reviens pour un problème de EOF que je rencontre lors de l'exécution de mon script que j'ai adapté. J'ai le message d'erreur :
Code :
 EOF encountered while reading standard in. Now exiting...
Decon est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h30.


 
 
 
 
Partenaires

Hébergement Web