Re: Awk et l'entrée standard

2011-03-30 Par sujet Laurent
bein y me semble que a part etre un peut plus efficace que awk, le pb de 
bufferisation de grep va etre le meme.


il faut supprimer ce grep du milieu, comme dans mes 2 exemples

Le 30/03/2011 09:05, Guillaume Turri a écrit :

Bonjour,

Le 30 mars 2011 01:56, Alain Vaugham al...@vaugham.com
mailto:al...@vaugham.com a écrit :

- la sortie que je récupère :
monrépertoire/ CREATE fax001
monrépertoire/ CREATE fax002
monrépertoire/ CREATE fax003
monrépertoire/ CREATE fax004

- ce que je veux extraire : la dernière colonne.


Je ne connais pas awk, et ne pourrais pas me prononcer sur le sujet. En
revanche, pour ce qui est d'extraire la dernière colonne, je pense que
l'outils cut est tout indiqué.
En particulier, je pense que quelque chose comme ça devrait résoudre
cette problématique : inotifywait -m monrépertoire/ | grep CREATE | cut
-d  -f3

Bonne journée,
Guillaume



_
Linux mailing list
Linux@lists.parinux.org
http://lists.parinux.org/mailman/listinfo/linux


_
Linux mailing list
Linux@lists.parinux.org
http://lists.parinux.org/mailman/listinfo/linux


Re: Awk et l'entrée standard

2011-03-30 Par sujet Jean-Marc Beaune
Salut,

Je dirai qu'on peut inverser les strings avec rev, puis faire un cut, puis
inverser à nouveau:

$ inotifywait -m monrépertoire/ | rev | cut -d   -f 1 | rev
/JM
2011/3/30 Laurent laur...@hpfrcu08.france.hp.com

 bein y me semble que a part etre un peut plus efficace que awk, le pb de
 bufferisation de grep va etre le meme.

 il faut supprimer ce grep du milieu, comme dans mes 2 exemples

 Le 30/03/2011 09:05, Guillaume Turri a écrit :

 Bonjour,

 Le 30 mars 2011 01:56, Alain Vaugham al...@vaugham.com
 mailto:al...@vaugham.com a écrit :


- la sortie que je récupère :
monrépertoire/ CREATE fax001
monrépertoire/ CREATE fax002
monrépertoire/ CREATE fax003
monrépertoire/ CREATE fax004

- ce que je veux extraire : la dernière colonne.


 Je ne connais pas awk, et ne pourrais pas me prononcer sur le sujet. En
 revanche, pour ce qui est d'extraire la dernière colonne, je pense que
 l'outils cut est tout indiqué.
 En particulier, je pense que quelque chose comme ça devrait résoudre
 cette problématique : inotifywait -m monrépertoire/ | grep CREATE | cut
 -d  -f3

 Bonne journée,
 Guillaume



 _
 Linux mailing list
 Linux@lists.parinux.org
 http://lists.parinux.org/mailman/listinfo/linux


 _
 Linux mailing list
 Linux@lists.parinux.org
 http://lists.parinux.org/mailman/listinfo/linux




-- 
Jean-Marc
_
Linux mailing list
Linux@lists.parinux.org
http://lists.parinux.org/mailman/listinfo/linux

Re: Awk et l'entrée standard

2011-03-30 Par sujet Marco RODRIGUES
Le 30/03/2011 01:56, Alain Vaugham a écrit :
 Voici mon utilisation de awk qui ne retourne rien :
 $ inotifywait -m monrépertoire/ | grep CREATE | awk '{ print $NF }' 

 Selon mon diagnostique, awk semble ne pas être alimenté par le canal de 
 l'entrée standard via le tube de grep que je lui fourni en entrée.

 Où se trouve mon erreur pour alimenter awk
En utilisant directement awk pour faire le filtrage :

inotifywait -m /home/mro/ | awk '/CREATE/{print $0}'

Bonne journée.
Marco.

_
Linux mailing list
Linux@lists.parinux.org
http://lists.parinux.org/mailman/listinfo/linux


Re: Awk et l'entrée standard

2011-03-30 Par sujet Marco RODRIGUES
Le 30/03/2011 12:02, Marco RODRIGUES a écrit :
 Le 30/03/2011 01:56, Alain Vaugham a écrit :
 Voici mon utilisation de awk qui ne retourne rien :
 $ inotifywait -m monrépertoire/ | grep CREATE | awk '{ print $NF }' 

 Selon mon diagnostique, awk semble ne pas être alimenté par le canal de 
 l'entrée standard via le tube de grep que je lui fourni en entrée.

 Où se trouve mon erreur pour alimenter awk
 En utilisant directement awk pour faire le filtrage :

 inotifywait -m /home/mro/ | awk '/CREATE/{print $0}'
Petite coquille sur la sélection de la colonne :

inotifywait -m monrépertoire/ | awk '/CREATE/{print $NF}'

N.B. : Je viens de faire des tests supplémentaires en filtrant les OPEN.
Ce qui m'étonne c'est que je lance la commande. Et en ouvrant pour la
première fois nautilus, je n'ai rien. SI je l'ouvre une seconde fois ou
que je rafraichi l'affichage, ça marche.
Certainement un problème d'initialisation de l'entrée sortie entre grep
et awk.
_
Linux mailing list
Linux@lists.parinux.org
http://lists.parinux.org/mailman/listinfo/linux


Re: Awk et l'entrée standard

2011-03-30 Par sujet Alain Vaugham
Le Wednesday 30 March 2011 09:05:49 Guillaume Turri, vous avez écrit :
 Bonjour,
Bonjour,

 Le 30 mars 2011 01:56, Alain Vaugham al...@vaugham.com a écrit :
  - la sortie que je récupère :
  monrépertoire/ CREATE fax001
  monrépertoire/ CREATE fax002
  monrépertoire/ CREATE fax003
  monrépertoire/ CREATE fax004
 
  - ce que je veux extraire : la dernière colonne.

 Je ne connais pas awk, et ne pourrais pas me prononcer sur le sujet. En
 revanche, pour ce qui est d'extraire la dernière colonne, je pense que
 l'outils cut est tout indiqué.
 En particulier, je pense que quelque chose comme ça devrait résoudre cette
 problématique : inotifywait -m monrépertoire/ | grep CREATE | cut -d  -f3

Non, cut ne coupe rien.
Il semble que la ligne soit mise en tampon par grep.
Donc cut ne voit rien.

Merci pour ce retour.

-- 
Alain Vaugham
Clef GPG : 0xD26D18BC
_
Linux mailing list
Linux@lists.parinux.org
http://lists.parinux.org/mailman/listinfo/linux


Re: Awk et l'entrée standard

2011-03-30 Par sujet Alain Vaugham
Le Wednesday 30 March 2011 12:16:06 Marco RODRIGUES, vous avez écrit :
 Le 30/03/2011 12:02, Marco RODRIGUES a écrit :
  Le 30/03/2011 01:56, Alain Vaugham a écrit :
  Voici mon utilisation de awk qui ne retourne rien :
  $ inotifywait -m monrépertoire/ | grep CREATE | awk '{ print $NF }'
 
  Selon mon diagnostique, awk semble ne pas être alimenté par le canal de
  l'entrée standard via le tube de grep que je lui fourni en entrée.
 
  Où se trouve mon erreur pour alimenter awk
 
  En utilisant directement awk pour faire le filtrage :
 
  inotifywait -m /home/mro/ | awk '/CREATE/{print $0}'

 Petite coquille sur la sélection de la colonne :

Pas grave. C'était sûrement pour tout récolter  :-)



 inotifywait -m monrépertoire/ | awk '/CREATE/{print $NF}'

Non, cette forme n'alimente pas awk. Ni celle-ci d'aileurs :-)
$ inotifywait -m monrépertoire/  | awk ' /CREATE/{ print $NF }'



 N.B. : Je viens de faire des tests supplémentaires en filtrant les OPEN.
 Ce qui m'étonne c'est que je lance la commande. Et en ouvrant pour la
 première fois nautilus, je n'ai rien.

Même sans utiliser Nautilus, je n'ai rien non plus 


 SI je l'ouvre une seconde fois ou 
 que je rafraichi l'affichage, ça marche.
 Certainement un problème d'initialisation de l'entrée sortie entre grep
 et awk.

Je filtre uniquement sur le premier évènement à partir duquel les autres 
procédures peuvent s'appliquer.


Merci pour la tentative de réponse.


-- 
Alain Vaugham
Clef GPG : 0xD26D18BC
_
Linux mailing list
Linux@lists.parinux.org
http://lists.parinux.org/mailman/listinfo/linux


Re: [Résolu] Awk et l'entrée standard

2011-03-30 Par sujet Laurent

inotifywait -m monmachin/ | while read a b c
do
if [ $b = CREATE ]
then
   echo $c
fi
done


Je peux mettre sa sortie dans un fichier plat donc je vais pouvoir remplir une
base de données.



La y a meme pas besoin de passer par un fichier pour remplir la base:
par exemple

sqlite /tmp/mabase.sql  |
exec 4p 3p
cat 4 /tmp/sqlite.log
inotifywait -m monmachin/ | while read a b c
do
if [ $b = CREATE ]
then
echo $c
echo INSERT INTO matable (fax,date) values 
(\$c\,DATETIME('NOW')); 3

 fi
done /tmp/log.log 21


_
Linux mailing list
Linux@lists.parinux.org
http://lists.parinux.org/mailman/listinfo/linux


Re: [Résolu] Awk et l'entrée standard

2011-03-30 Par sujet Alain Vaugham
Le Wednesday 30 March 2011 13:03:22 Laurent, vous avez écrit :

...

 La y a meme pas besoin de passer par un fichier pour remplir la base:

Oui, c'était juste pour valider rapidement le script.

...

 sqlite /tmp/mabase.sql  |

C'est Postgres mais je vais m'en inspirer.

...

  echo INSERT INTO matable (fax,date) values
 (\$c\,DATETIME('NOW')); 3

Bien que ma machine soit à l'heure avec ntp, je veux aller chercher 
l'horodatage sur un serveur de temps.
Ce sera peut-être l'objet d'une autre discusion mais plus tard car je n'ai pas 
suffisamment exploré cet aspect.

En attendant j'ai de quoi m'occuper.

Encore merci beaucoup.


-- 
Alain Vaugham
Clef GPG : 0xD26D18BC
_
Linux mailing list
Linux@lists.parinux.org
http://lists.parinux.org/mailman/listinfo/linux


Re: [Résolu] Awk et l'entrée standard

2011-03-30 Par sujet Alain Vaugham
Le Wednesday 30 March 2011 14:28:04 Laurent, vous avez écrit :
  Bien que ma machine soit à l'heure avec ntp, je veux aller chercher
  l'horodatage sur un serveur de temps.
  Ce sera peut-être l'objet d'une autre discusion mais plus tard car je
  n'ai pas suffisamment exploré cet aspect.

 si le ntpd est fait sur le meme serveur de temps, a quoi sert d'aller
 chercher un horodatage distant a chaque fax?
 ntpd calcul les aleas de transmission si le serveur de temps utilise est
 bien stratum 1

 - aller chercher le temps sur le temps de reference a chaque fois
 introduit plus d'alea que d'utiliser correctement ntpd qui lui va
 calculer le dephasage/la distance au serveur stratum 1 et la derive
 propre de l'horloge systeme.

 Aussi que se passe t'il en case de perte de contact avec le serveur de
 temps?

Oui, tout cela est très bien décrit et je t'en remercie.

Mais encore une fois, cela fera éventuellement l'objet d'une autre discussion 
car je ne suis pas prêt à avancer dessus pour l'instant.


-- 
Alain Vaugham
Clef GPG : 0xD26D18BC
_
Linux mailing list
Linux@lists.parinux.org
http://lists.parinux.org/mailman/listinfo/linux