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 12/05/2011, 13h48   #1
Membre émérite
 
Avatar de avigeilpro
 
Homme Sébastien PIERRE
Ambulancier
Inscription : janvier 2004
Messages : 869
Détails du profil
Informations personnelles :
Nom : Homme Sébastien PIERRE
Âge : 26
Localisation : France, Creuse (Limousin)

Informations professionnelles :
Activité : Ambulancier
Secteur : Transports

Informations forums :
Inscription : janvier 2004
Messages : 869
Points : 929
Points : 929
Par défaut lire Dernière ligne d'un fichier

bonjour.
Je tourne en rond depuis ce matin, je cherche à lire la dernière ligne d'un fichier dont la taille et le nombre de ligne n'est pas connue.
Il s'agit d'un fichier log de la commande wget, je cherche à savoir si la dernière ligne est "Abandon." ou non.
Si c'est le cas je voudrais lire la ligne qui se trouve deux lignes avant, afin de savoir quel liens n'as pas pu etre téléchargé.
Voici un exemple de fichier log (juste la fin) :
Citation:
...
...
--2011-05-12 04:01:25-- (essai:19) http://www646.megaupload.com/files/a9f630540c0f270a51cf5c062a3d4fe7/essayerais.txt
Connexion vers www646.megaupload.com|174.140.129.51|:80...échec: Connexion terminée par expiration du délai d'attente.
Nouvel essai.

--2011-05-12 04:01:56-- (essai:20) http://www646.megaupload.com/files/a9f630540c0f270a51cf5c062a3d4fe7/essayerais.txt
Connexion vers www646.megaupload.com|174.140.129.51|:80...échec: Connexion terminée par expiration du délai d'attente.
Abandon.
D'avance merci pour toute piste.
__________________
La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
Règles|FAQ|Tuto
avigeilpro est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/05/2011, 14h31   #2
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 445
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 445
Points : 7 532
Points : 7 532
Regarde la commande tail, elle répond exactement à ton besoin.
__________________
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 12/05/2011, 14h32   #3
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Salut,

Avec "ed" ?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ cat plop
...
...
--2011-05-12 04:01:25-- (essai:19) http://www646.megaupload.com/files/a9f630540c0f270a51cf5c062a3d4fe7/essayerais.txt
Connexion vers www646.megaupload.com|174.140.129.51|:80...échec: Connexion terminée par expiration du délai d'attente.
Nouvel essai.

--2011-05-12 04:01:56-- (essai:20) http://www646.megaupload.com/files/a9f630540c0f270a51cf5c062a3d4fe7/essayerais.txt
Connexion vers www646.megaupload.com|174.140.129.51|:80...échec: Connexion terminée par expiration du délai d'attente.
Abandon.

$ ed -s plop <<< $'$g/Abandon/-2p'
--2011-05-12 04:01:56-- (essai:20) http://www646.megaupload.com/files/a9f630540c0f270a51cf5c062a3d4fe7/essayerais.txt

$
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 12/05/2011, 14h39   #4
Membre expérimenté
 
Homme
Inscription : juillet 2007
Messages : 437
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : juillet 2007
Messages : 437
Points : 558
Points : 558
De tête, et pas de linux pour tester...

Code :
cat /chemin/du/fichier | tail -1
Luc1an0 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 12/05/2011, 16h36   #5
Membre émérite
 
Avatar de avigeilpro
 
Homme Sébastien PIERRE
Ambulancier
Inscription : janvier 2004
Messages : 869
Détails du profil
Informations personnelles :
Nom : Homme Sébastien PIERRE
Âge : 26
Localisation : France, Creuse (Limousin)

Informations professionnelles :
Activité : Ambulancier
Secteur : Transports

Informations forums :
Inscription : janvier 2004
Messages : 869
Points : 929
Points : 929
Bon j'ai compris avec l'utilisation de tail, deux ou trois lignes de code feront l'affaire, mais pour l'utilisation de "ed" qui semblerait tout faire en une ligne ... là je suis complétement largué
__________________
La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
Règles|FAQ|Tuto
avigeilpro est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/05/2011, 17h57   #6
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Les explications :

ed
La commande


-s
Empêche l'affichage du nombre de caractères lus (fonction par défaut chez "ed")


plop
Le fichier à traiter


<<<
Redirection en entrée


$'commandes'
Syntaxe pour la redirection en entrée


$g
Lit la dernière ligne ($) et traite toutes les lignes (g)


/Abandon/-2
Motif moins 2
Matche la 2ème ligne avant celle contenant le motif recherché.


p
Affichage du motif trouvé.

__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 12/05/2011, 18h10   #7
Membre émérite
 
Avatar de avigeilpro
 
Homme Sébastien PIERRE
Ambulancier
Inscription : janvier 2004
Messages : 869
Détails du profil
Informations personnelles :
Nom : Homme Sébastien PIERRE
Âge : 26
Localisation : France, Creuse (Limousin)

Informations professionnelles :
Activité : Ambulancier
Secteur : Transports

Informations forums :
Inscription : janvier 2004
Messages : 869
Points : 929
Points : 929
merci
j'ai fait ceci avec tail, en faite il y a un retour à la ligne à la fin de mon fichier, Abandon est donc sur l'avant dernière ligne
voici ce que ca donne (recherche Abandon, si présent, prend deux lignes avant, puis extrait le lien):

Code :
1
2
3
4
5
6
7
8
9
10
 
#!/bin/sh
i="wget-log.531"
 
fin=`cat $i | tail -2`
if [ "$fin" = "Abandon." ]; then
  lien=`cat $i | tail -4 | grep -F "http://www"`
  result=`echo $lien | cut -c 36-`
  echo $result
fi
Tout fonctionne pour le mieux, mais si vous avez des suggestion d'optimisation, je suis preneur, a condition que je comprenne tout bien entendu
__________________
La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
Règles|FAQ|Tuto
avigeilpro est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/05/2011, 18h49   #8
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Au cas où tu deviendrais pote avec "ed"

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ cat -n plop
     1  ...
     2  ...
     3  --2011-05-12 04:01:25-- (essai:19) http://www646.megaupload.com/files/a9f630540c0f270a51cf5c062a3d4fe7/essayerais.txt
     4  Connexion vers www646.megaupload.com|174.140.129.51|:80...échec: Connexion terminée par expiration du délai d'attente.
     5  Nouvel essai.
     6
     7  --2011-05-12 04:01:56-- (essai:20) http://www646.megaupload.com/files/a9f630540c0f270a51cf5c062a3d4fe7/essayerais.txt
     8  Connexion vers www646.megaupload.com|174.140.129.51|:80...échec: Connexion terminée par expiration du délai d'attente.
     9  Abandon.
    10
$ cut -d'/' -f 5- <<< "$(ed -s 'plop' <<< $'$-1g/Abandon/-2p')"
a9f630540c0f270a51cf5c062a3d4fe7/essayerais.txt
$
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/05/2011, 19h21   #9
Membre émérite
 
Avatar de avigeilpro
 
Homme Sébastien PIERRE
Ambulancier
Inscription : janvier 2004
Messages : 869
Détails du profil
Informations personnelles :
Nom : Homme Sébastien PIERRE
Âge : 26
Localisation : France, Creuse (Limousin)

Informations professionnelles :
Activité : Ambulancier
Secteur : Transports

Informations forums :
Inscription : janvier 2004
Messages : 869
Points : 929
Points : 929
nickel avec ed, juste une petite modification :
j'ai changé le en car j'ai besoin du lien complet (ya un nombre après le www qui est important )

résulat parfait

merci encore.
__________________
La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
Règles|FAQ|Tuto
avigeilpro est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 13/05/2011, 09h32   #10
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Citation:
Envoyé par avigeilpro Voir le message
car j'ai besoin du lien complet (ya un nombre après le www qui est important )
Perso je resterai sur du cut -d' ' -f 4, car si le nombre de caractères change (essai:2 ou essai:120) tu risques d'avoir des surprises, non ?

Au moins avec les champs on devrait les limiter...

__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 13/05/2011, 12h33   #11
Membre émérite
 
Avatar de avigeilpro
 
Homme Sébastien PIERRE
Ambulancier
Inscription : janvier 2004
Messages : 869
Détails du profil
Informations personnelles :
Nom : Homme Sébastien PIERRE
Âge : 26
Localisation : France, Creuse (Limousin)

Informations professionnelles :
Activité : Ambulancier
Secteur : Transports

Informations forums :
Inscription : janvier 2004
Messages : 869
Points : 929
Points : 929
non de ce coté ça ne change jamais, il y a toujours 20 essais avant abandon
Mail il est bon de le préciser pour ceux qui utiliseront le même type de méthode
__________________
La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
Règles|FAQ|Tuto
avigeilpro 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 11h35.


 
 
 
 
Partenaires

Hébergement Web