Pbs sur commandes shell
Résolu
niceLP
-
niceLP -
niceLP -
j'aimerais créer un affichage sur l'ensemble des utilisateurs connectés en affichant leurs PID TTY TIME et CMP correspondant , j'ai un probleme avec la commande ps u -a qui me donne uniquement les numéros de users et pas les noms complets .j'aimerais obtenir ceci ; si vous avez des idées merci
albert durant
PID TTY TIME CMD
23445 pts/3 00:00:00 ls
43870 6 pts/3 00:00:00 vim
4309 pts/7 00:00:00 ls
8368 pts/& 00:00:00 vim
43443pts/2 00:00:00 ps
gerard dupont
PID TTY TIME CMD
4343 pts/8 00:00:00 cp
433 pts/9 00:00:00 ps
.
.
.
lucien sylvian
.
.
.
albert durant
PID TTY TIME CMD
23445 pts/3 00:00:00 ls
43870 6 pts/3 00:00:00 vim
4309 pts/7 00:00:00 ls
8368 pts/& 00:00:00 vim
43443pts/2 00:00:00 ps
gerard dupont
PID TTY TIME CMD
4343 pts/8 00:00:00 cp
433 pts/9 00:00:00 ps
.
.
.
lucien sylvian
.
.
.
A voir également:
- Pbs sur commandes shell
- Classic shell - Télécharger - Personnalisation
- Invite de commandes - Guide
- Commandes terminal mac - Guide
- 'Pip' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes. ✓ - Forum Python
- Classic shell c'est quoi ✓ - Forum Windows 10
4 réponses
Salut,
#! /bin/bash for name in $(ps auc | sed '1d' | awk '{ print $1 }'| sort | uniq) do grep "$name" /etc/passwd | cut -d: -f5 ps | head -1 | awk '{ printf "%s \t%s \t%s \t%s\n",$1,$2,$3,$4 }' ps auc | grep "$name" | awk '{ printf "%s \t%s \t%s \t%s\n",$2,$7,$10,$11 }' echo doneIl y a sûrement plus optimisé... ;-))
#! /bin/bash for name in $(ps auc | grep -v USER |cut -d " " -f 1 | sort | uniq) do grep "$name" /etc/passwd | cut -d: -f5 set $(ps | head -1) printf "%s$1%s\t$2%s\t$3%s\t$4\n" ( OLDIFS=$IFS IFS=$'\n' for line in $(ps auc | grep "$name") do IFS=$OLDIFS set $(echo $line) printf "%s$2\t%s$7\t%s${10}\t%s${11}\n" done ) echo done;-))