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 08/05/2022, à 10:37

k3c

watch et awk

bonjour

Je télécharge 4 enregistrements depuis ma Freebox, et pour voir la taille qui évolue je fais

 lsof -p 5336 2>nl | awk '/crdownload/ {print $7}'                                                                                                                   
2519005960
3173203672
3149404344
3131898024
 

si je le relance, cela bouge, je me suis dit, je vais regarder avec

watch -n 10 "!!"

mais dans ce cas le $7 est éliminé, j'affiche toute la ligne

si je fais, en protégeant le $

watch -n 20 "lsof -p 5336 2>nl | awk '/crdownload/ {print \$7}' " 

cela fonctionne

si je veux rappeler toutes les n secondes une commande, est-ce qu'il y a une manière de faire qui marche dans tous les cas ?

Merci


Debian 12 sur Thinkpad reconditionné

Hors ligne

#2 Le 08/05/2022, à 18:04

geole

Re : watch et awk

Bonjour
Il est possible de faire cela

for (( i=1; i > 0 ; i++ ));  do
echo commande
sleep 20
done

Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

En ligne

#3 Le 10/05/2022, à 22:44

kamaris

Re : watch et awk

watch -n 10 "!!:s/$/\$/"

?

Hors ligne

#4 Le 12/05/2022, à 16:39

k3c

Re : watch et awk

l'idée me plait, mais

gg@debian9:~$  lsof -p 5336 2>nl | awk '/crdownload/ {print $7}'  
145803464
gg@debian9:~$ watch -n 10 "!!:s/$/\$/"
bash: :s/$/\$/: substitution failed
gg@debian9:~$ 

en fait c'est ok

gg@debian9:~$ watch -n 10 "!!:s/$/\$/"
watch -n 10 "lsof -p 5336 2>nl | awk '/crdownload/ {print \$7}'"
gg@debian9:~$ 

je crois que j'ai compris, ma première commande débutait par un blanc, quand je l'ai enlevé, c'était bon

merci Kamaris

bon, je tente d'en faire un alias ou une fonction, mais pas facile

Dernière modification par k3c (Le 12/05/2022, à 17:13)


Debian 12 sur Thinkpad reconditionné

Hors ligne

#5 Le 13/05/2022, à 19:22

kamaris

Re : watch et awk

Il faut utiliser fc à la place de !!.
Un exemple ici : https://stackoverflow.com/a/48698009

Hors ligne

#6 Le 14/05/2022, à 22:09

k3c

Re : watch et awk

merci, fc a l'air parfait


Debian 12 sur Thinkpad reconditionné

Hors ligne

#7 Hier à 19:27

k3c

Re : watch et awk

j'ai défini une fonction watch last

function wlast () { cmd=$(fc -ln -1) ; watch -n 10 $cmd ; }

et donc si je passe une commande du genre

lsof -p $(pgrep Captvty) | awk '/brumes/ { printf("%"q"20d   %s\n",$7,substr($0, index($0,$9)))}'

un simple

wlast

va fonctionner malgré les $, simple et doubles quotes


Debian 12 sur Thinkpad reconditionné

Hors ligne