#1 Le 08/04/2019, à 20:14
- JujuLand
[Résolu] Datage de connexion et de démarrage
Voici un script tout bête qui me pose un problème ...
#!/bin/bash
echo ""
echo "avril01" > debut
cat debut
echo ""
jour=$(sed -s 's|janvier||g' debut)
if [ "x$jour" = "x$(sed -s 's|janvier||g' debut)" ];then
echo janvier "x$(sed -s 's|janvier||g' debut)"
jour=$(sed -s 's|fevrier||g' debut)
if [ "x$jour" = "x$(sed -s 's|fevrier||g' debut)" ];then
echo fevrier "x$(sed -s 's|fevrier||g' debut)"
jour=$(sed -s 's|mars||g' debut)
if [ "x$jour" = "x$(sed -s 's|mars||g' debut)" ];then
echo mars "x$(sed -s 's|mars||g' debut)"
jour=$(sed -s 's|avril||g' debut)
if [ "x$jour" = "x$(sed -s 's|avril||g' debut)" ];then
echo avril "x$(sed -s 's|avril||g' debut)"
jour=$(sed -s 's|mai||g' debut)
if [ "x$jour" = "x$(sed -s 's|mai||g' debut)" ];then
echo mai "x$(sed -s 's|mai||g' debut)"
jour=$(sed -s 's|juin||g' debut)
if [ "x$jour" = "x$(sed -s 's|juin||g' debut)" ];then
echo juin "x$(sed -s 's|juin||g' debut)"
jour=$(sed -s 's|juillet||g' debut)
if [ "x$jour" = "x$(sed -s 's|juillet||g' debut)" ];then
echo juillet "x$(sed -s 's|juillet||g' debut)"
jour=$(sed -s 's|aout||g' debut)
if [ "x$jour" = "x$(sed -s 's|aout||g' debut)" ];then
echo aout "x$(sed -s 's|aout||g' debut)"
jour=$(sed -s 's|septembre||g' debut)
if [ "x$jour" = "x$(sed -s 's|septembre||g' debut)" ];then
echo septembre "x$(sed -s 's|septembre||g' debut)"
jour=$(sed -s 's|octobre||g' debut)
if [ "x$jour" = "x$(sed -s 's|octobre||g' debut)" ];then
echo octobre "x$(sed -s 's|octobre||g' debut)"
jour=$(sed -s 's|novembre||g' debut)
if [ "x$jour" = "x$(sed -s 's|novembre||g' debut)" ];then
echo novembre "x$(sed -s 's|novembre||g' debut)"
jour=$(sed -s 's|decembre||g' debut)
if [ "x$jour" = "x$(sed -s 's|decembre||g' debut)" ];then
echo decembre "x$(sed -s 's|decembre||g' debut)"
debut=$(cat debut)
else
debut="$jour décembre"
fi
else
debut="$jour novembre"
fi
else
debut="$jour octobre"
fi
else
debut="$jour septembre"
fi
else
debut="$jour août"
fi
else
debut="$jour juillet"
fi
else
debut="$jour juin"
fi
else
debut="$jour mai"
fi
else
debut="$jour avril"
fi
else
debut="$jour mars"
fi
else
debut="$jour février"
fi
else
debut="$jour janvier"
fi
rm debut 2>/dev/null
echo ""
echo $debut
echo "alors qu'on devrait trouver :"
echo 01 avril
Merci de votre aide
A+
Dernière modification par JujuLand (Le 09/04/2019, à 21:11)
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#2 Le 08/04/2019, à 20:39
- diesel
Re : [Résolu] Datage de connexion et de démarrage
Première chose, debut est un fichier (echo "avril01" > debut), puis tu crées une variable debut. C'est une très mauvais idée d'avoir une variable et un fichier avec le même nom.
Et si c'est pour juste enlever le numéro du jour à la fin de la ligne et l'ajouter suivi d'un espace en début de ligne, il y a beaucoup plus simple en une seule ligne de shell.
Amicalement.
Jean-Marie
Dernière modification par diesel (Le 08/04/2019, à 21:04)
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
#3 Le 08/04/2019, à 20:53
- pingouinux
Re : [Résolu] Datage de connexion et de démarrage
Bonsoir,
Tes tests sont tous vérifiés et tu ne passes pas dans les "else".
Mais c'est bien compliqué, comme le dit diesel83140.
$ sed -r 's/([^0-9]+)([0-9]+)/\2 \1/' <<<"avril01"
01 avril
Hors ligne
#4 Le 08/04/2019, à 21:20
- JujuLand
Re : [Résolu] Datage de connexion et de démarrage
Bon, évidemment, c'est nettement plus propre ...
Je maitrise très mal le regex , mais je ne comprends toujours pas pourquoi mon usine à gaz ne fonctionne pas.
Je n'ai pas pu tester, car en fait, c'est le résultat d'une commande pour connaitre l'heure de connexion, et si la connexion date du jour, je récupère l'heure, sinon je traite. Donc, j'attendrai demain pour vérifier ...
debut=$(ps -aef|grep 'keyring-daemon'| head -n1 | cut -d? -f1 | awk '{print $5}')
Merci
A+
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#5 Le 08/04/2019, à 21:43
- Watael
Re : [Résolu] Datage de connexion et de démarrage
« non, non, c'est kloug. »
a priori, d'abord
ps -C $(pidof keyring-daemon)
après, on verra ce que ça affiche, et ce que tu veux extraire.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#6 Le 09/04/2019, à 05:46
- pingouinux
Re : [Résolu] Datage de connexion et de démarrage
mais je ne comprends toujours pas pourquoi mon usine à gaz ne fonctionne pas.
Tes tests sont tous vérifiés et tu ne passes pas dans les "else".
Hors ligne
#7 Le 09/04/2019, à 08:36
- JujuLand
Re : [Résolu] Datage de connexion et de démarrage
Marche pas ...
jacques@gadel-pc2:~$ ps -C $(pidof keyring-daemon)
erreur: la liste des noms de commandes doit suivre -C
Usage:
ps [options]
Essayez 'ps --aide <simple|liste|sortie|threads|divers|tous>'
ou 'ps --aide <s|l|o|h|d|t>'
pour plus d'aide.
Pour plus de détails, consultez ps(1).
J'ai donc essayé avec une autre commande dont la date de lancement est la même et j'ai le retour suivant:
jacques@gadel-pc2:~$ ps -C cron
PID TTY TIME CMD
1082 ? 00:00:00 cron
Donc ce n'est pas ce que je cherche ...
Ce que je cherche en fait, c'est de savoir quand a eu lieu la dernière connexion. Il s'agit d'ordis auquels je me connecte en ssh ...
A+
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#8 Le 09/04/2019, à 11:16
- diesel
Re : [Résolu] Datage de connexion et de démarrage
Et si tu allais faire un tour dans /var/log/auth.log ?
grep ssh /var/log/auth.log | tail -n 2
Amicalement.
Jean-Marie
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
#9 Le 09/04/2019, à 13:11
- JujuLand
Re : [Résolu] Datage de connexion et de démarrage
Excellent, mais c'est pour les connexions locales :
alain@aupeix-GX723:~$ cat /var/log/auth.log|grep "systemd-logind"|grep "New session"|grep $USER|tail -n1 | cut -f1| awk '{print $2" "$1" "$3}'
9 Apr 13:41:55
alain@aupeix-GX723:~$
Idem pour les rémarrages de machine:
alain@aupeix-GX723:~$ cat /var/log/syslog|grep "rsyslogd: \["|grep start|tail -n1 | cut -f1| awk '{print $2" "$1" "$3}'
9 Apr 13:41:26
alain@aupeix-GX723:~$
Merci
A+
Dernière modification par JujuLand (Le 09/04/2019, à 13:12)
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#10 Le 09/04/2019, à 13:21
- JujuLand
Re : [Résolu] Datage de connexion et de démarrage
Oouuppss ... j'ai été un peu vite ... test sur Xubuntu 16.04, mais pas glop sur Ubuntu 14.04 ...
Je cherche ...
A+
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#11 Le 09/04/2019, à 13:23
- Watael
Re : [Résolu] Datage de connexion et de démarrage
oops, m'est gourré, c'est pas -C , c'est -p, pour --pid.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#12 Le 09/04/2019, à 13:42
- JujuLand
Re : [Résolu] Datage de connexion et de démarrage
Bon, y'avait déja plus ou moins les outils
Connexion :
jacques@gadel-pc2:/~$ last -F |grep $USER|grep -v pts|grep -v reboot|grep ":0"|tail -n1 | cut -f1| awk '{print $4" "$6" "$5" "$8" "$7}'
Mon 1 Apr 2019 13:41:45
jacques@gadel-pc2:~$
Démarrage:
jacques@gadel-pc2:~$ last -F |grep reboot|tail -n1 | cut -f1| awk '{print $5" "$7" "$6" "$9" "$8}'
Mon 1 Apr 2019 12:42:03
jacques@gadel-pc2:~$
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#13 Le 09/04/2019, à 14:00
- Watael
Re : [Résolu] Datage de connexion et de démarrage
cut n'a aucun effet.
last -F | awk '/reboot/{ar[++n]=$5" "$7" "$6" "$9" "$8}END{print ar[n]}'
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#14 Le 09/04/2019, à 14:09
- JujuLand
Re : [Résolu] Datage de connexion et de démarrage
Il est évident que j'ai encore pas mal à apprendre
Merci
A+
Xubuntu 16.04 > Dell DM061 (2007) + Dell Inspiron 531 (2008)
Xubuntu 16.04 > Asus X51L (2009) + MSI GX723 (2009)
Xubuntu 22.04 > HP 15BA048NF (2018)
Hors ligne
#15 Le 09/04/2019, à 20:43
- Nuliel
Re : [Résolu] Datage de connexion et de démarrage
Hello,
Pourrais tu stp mettre un titre plus explicite?
Merci d'avance
Hors ligne