Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/07/2018, à 10:11

moko138

Automatiser l'inclusion de la date sous la forme "55653.304221"

Bonjour,

En dépannage, on demande souvent un dmesg.
Mais son retour contient souvent plein de lignes antérieures à l'opération intéressante (le branchement d'un périphérique, par exemple).


Donc je suis souvent amené à demander juste avant le branchement révélateur

dmesg | tail -1

pour repérer dans dmesg le début approximatif du dépannage. Ex :

[55653.304221] ieee80211 phy1: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 9 in queue 2

afin de pouvoir par la suite obtenir seulement [la ligne [55653.304221] (...)] et les lignes suivantes :

dmesg | grep -A1000 "55653.304221"
     # Pas de lignes antérieures.  :)
[55653.304221] ieee80211 phy1: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 9 in queue 2
     # Branchement du périphérique à diagnostiquer, suivi de
     # toutes les lignes PERTINENTES :
bla
bla
...

Jusqu'ici, ça va.

= =

Maintenant, je souhaite automatiser la partie grep -A1000 "55653.304221".

Mais ce que j'ai tenté ne marche pas encore :

dmesg | tail -1 > tail.txt     # Ici, ça va
echo '"'$(cat tail.txt | cut -d' ' -f1)'"'  # Ici aussi, ça va encore
"[55653.304221]"

Et là

moko@1404:~$ dmesg | grep -A1000 $(echo '"'$(cat tail.txt | cut -d' ' -f1)'"')
moko@1404:~$

retour vide : ça ne va plus !


Vos idées sont bienvenues !
Merci d'avance !     smile


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#2 Le 03/07/2018, à 11:28

pingouinux

Re : Automatiser l'inclusion de la date sous la forme "55653.304221"

Bonjour,
Tu peux essayer ceci :

dmesg | grep -A1000 "$(sed -r 's/([].[])/\\\1/g' tail.txt)"

Hors ligne

#3 Le 03/07/2018, à 12:14

diesel

Re : Automatiser l'inclusion de la date sous la forme "55653.304221"

Bonjour,

Déjà, tu peux essayer :

dmesg --ctime

Qui va te donner des dates "humainement" lisibles.

Ceci dit, peux-tu nous expliquer ce que tu veux exactement faire (juste avec des mots wink ) ?

Amicalement.

Jean-Marie

Dernière modification par diesel (Le 03/07/2018, à 12:17)


Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.

Hors ligne

#4 Le 03/07/2018, à 12:46

moko138

Re : Automatiser l'inclusion de la date sous la forme "55653.304221"

Super ! Merci beaucoup pingouinux !  smile


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#5 Le 03/07/2018, à 13:49

moko138

Re : Automatiser l'inclusion de la date sous la forme "55653.304221"

diesel83140,
1) Peux-tu m'expliquer en quoi

[mar. juil.  3 07:41:47 2018]     # obtenu à 13h28 (!)

est plus automatiquement exploitable que

[100263.513351]

?


2) Le man confirme la non fiabilité de dmesg --ctime :

man dmesg
       -T, --ctime
              Afficher l'horodatage lisible par  l'utilisateur.  L'horodatage  pourrait
              être inexact !

              L'origine  des  temps  utilisée  pour  les journaux n'est pas mise à jour
              après une mise en veille du système.

3) Tu dis :

peux-tu nous expliquer ce que tu veux exactement faire (juste avec des mots wink ) ?

  En rédigeant mon 1er message, j'étais conscient que sa formulation n'était pas limpide, malgré mes efforts.
Peut-être peux-tu m'aider à le clarifier en m'indiquant
  - ce que tu as compris
  - ce que tu n'as pas compris ?

Merci !


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne