gauret Posté(e) le 16 février 2005 Partager Posté(e) le 16 février 2005 comme je suis dans mon jour de bonté, j'en ai une deuxième, où cette fois si le bash est autorisé ... j'avais besoin l'autre jour de dater des événements à la seconde près ... je voulais donc faire une boucle en shell qui m'affiche l'heure en temps réél sur une seule ligne (qui ne scroll pas) et que je pouvais néanmoins faire scroller à la main pour noter mes événements. En gros une sorte de chrono, à chaque fois que j'appuie sur entrée ça m'enregistre l'heure : # <la super ligne de shell> 22:19:14 [appui sur entrée à 22:19:14] 22:19:57 [appui sur entrée à 22:19:57] 22:20:02 .. 22:20:03 le tout en une seule ligne de commande relativement simple pour la taper vite et ne pas charger la machine... indice : la ligne de commande fait ~ 60 caractères ... 2 solutions : - soit un truc à base de while read; do date +%X; done - soit, plus classe je trouve, tu règles ton prompt pour qu'il affiche l'heure, avec la variable PS1 : export PS1="\t [\u@\h \w]\$ " Marrant :) Mais j'ai pas très bien compris ta question Sandeman, c'est bien ça que tu voulais faire ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
gauret Posté(e) le 16 février 2005 Partager Posté(e) le 16 février 2005 Ah, je pense avoir compris. Et ça : while true; do date=`date +%X`; echo -n $date; sleep 1; echo -n -e '\r'; done ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 16 février 2005 Partager Posté(e) le 16 février 2005 la seconde: while date '+%k:%M:%S'; do sleep 1; printf "\b\b\b\b\b\b\b\b"; done en très porc... Lien vers le commentaire Partager sur d’autres sites More sharing options...
gauret Posté(e) le 16 février 2005 Partager Posté(e) le 16 février 2005 la seconde: while date '+%k:%M:%S'; do sleep 1; printf "\b\b\b\b\b\b\b\b"; done en très porc... marche pas, ça scrolle... Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 16 février 2005 Partager Posté(e) le 16 février 2005 ça dépend des terminaux... avec aterm, ça marche (printf "\b" mais pas echo -ne '\r') avec konsole, non... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sandeman Posté(e) le 17 février 2005 Partager Posté(e) le 17 février 2005 yes ouragan :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
ouragan Posté(e) le 17 février 2005 Partager Posté(e) le 17 février 2005 d'ailleurs le truc con pour remplir le /home yes bonjour >> bonjour.txt et le laisser tourner :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sandeman Posté(e) le 17 février 2005 Partager Posté(e) le 17 février 2005 un poil plus rapide ? cat /dev/null > toto.txt Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 17 février 2005 Partager Posté(e) le 17 février 2005 et pour ton horloge ? je donne ma langue au pingouin Lien vers le commentaire Partager sur d’autres sites More sharing options...
gauret Posté(e) le 17 février 2005 Partager Posté(e) le 17 février 2005 et pour ton horloge ?je donne ma langue au pingouin Elle marche pas ma mienne ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
AigleDor Posté(e) le 17 février 2005 Partager Posté(e) le 17 février 2005 un poil plus rapide ? cat /dev/null > toto.txt /dev/null est toujours vu comme un fichier vide en lecture Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 18 février 2005 Partager Posté(e) le 18 février 2005 /dev/null est toujours vu comme un fichier vide en lecture ouais... /dev/zero, /dev/random ou /dev/hw_random font mieux l'affaire :8 ou yes > ~/rien Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 18 février 2005 Partager Posté(e) le 18 février 2005 Elle marche pas ma mienne ? ben pas chez moi en tout cas... je pense que c'est tres spécifique à TERM, non? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sandeman Posté(e) le 18 février 2005 Partager Posté(e) le 18 février 2005 effectivement j'ai fourché ... /dev/zero oui, l'horloge, alors :) Gagnant : Gauret ! (désolé j'avais zappé ton post) ma version est assez proche : while (true) do echo -ne "`date +"%T"`\b\b\b\b\b\b\b\b"; sleep 1; done Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 18 février 2005 Partager Posté(e) le 18 février 2005 effectivement... je croyais qu'en mettant les \b avec le date, l'heure ne s'afficherais jamais (tout de suite effacée), mais en fait, \b recule d'un caractère sans l'effacer, donc... d'ailleurs, c'est plus court comme ça : while echo -ne "`date +"%T"`\r"; do sleep 1; done Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 25 février 2005 Partager Posté(e) le 25 février 2005 tant qu'il n'y a personne, une ultra facile : voilà, je suis un maniac de la photo, et depuis que j'ai un super appareil numérique, je prends énormement de photos. En plus, je suis devenus fou de l'option 'rafale', entre 2 et 3 images par seconde. j'ai donc des dossiers contenant 50 images prise à la suite et j'aimerais faire un montage qui me les resize toutes en 400x400 et qui mets la date du traitement en bas et surtout qui me fait un gif animé du résultat. par chance, mon appareil nomme mes photos par ordre croissant : img_0018.jpg par exemple donc je résume, il faut : 1. prendre toutes les photos d'un répertoire. 2. les resizer en 400x400 3. ajouter un texte contenant la date du traitement centré en bas 4. en faire un gif animé a raison de trois images par seconde (à peu près hein) 5. le tout en UNE ligne de shell, parce que je suis avare en touche tapée sur mon clavier à vos marque, près, partez! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Duke98 Posté(e) le 25 février 2005 Partager Posté(e) le 25 février 2005 le resize, l'ajout de texte et la création de gif animée se fait sans problème avec image magic..... mais alors le détail.... plouf au passage il serait mieux de faire du mng...... avoir la qualité d'image du png et l'annimation en plus ca le fait edit: c'est la première fois que je comprends la question, ca s'arrange Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 25 février 2005 Partager Posté(e) le 25 février 2005 oui, mais c'est pas lisible avec un navigateur... expérience inside Lien vers le commentaire Partager sur d’autres sites More sharing options...
Duke98 Posté(e) le 25 février 2005 Partager Posté(e) le 25 février 2005 oui, mais c'est pas lisible avec un navigateur... expérience inside heu le mng passe sous firefox... mais il faut peut etre un plugin Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 25 février 2005 Partager Posté(e) le 25 février 2005 here it is: http://extensionroom.mozdev.org/more-info.php/mngsupport ça ne me donne pas ma ligne d'imageMagick Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 25 février 2005 Partager Posté(e) le 25 février 2005 5. le tout en UNE ligne de shell, parce que je suis avare en touche tapée sur mon clavier Un Makefile et c'est fini... il peut y avoir 50étapes à faire, un "make" et c'est fini Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sandeman Posté(e) le 25 février 2005 Partager Posté(e) le 25 février 2005 c'est une méchante ligne de l'espace avec convert à l'arrache, sans soigner l'esthétique sur la date : for i in `ls` do; fdate=`ls -l $i | awk '{print $6 " " $7 " " $8}'`; convert -sample 400x400 -font helvetica -fill blue -draw "text 100,100 $fdate" $i $i.png; done; convert -delay 33 *.png anim.mng; rm *.png Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 25 février 2005 Partager Posté(e) le 25 février 2005 Un Makefile et c'est fini... il peut y avoir 50étapes à faire, un "make" et c'est fini pas de fichier à écrire, juste une ligne. donc pas de Makefile. c'est une méchante ligne de l'espace avec convertà l'arrache, sans soigner l'esthétique sur la date : for i in `ls` do; fdate=`ls -l $i | awk '{print $6 " " $7 " " $8}'`; convert -sample 400x400 -font helvetica -fill blue -draw "text 100,100 $fdate" $i $i.png; done; convert -delay 33 *.png anim.mng; rm *.png oui, ce n'est qu'une méchante ligne de convert, alors pourquoi s'embetter à en faire plusieurs, avec des for, etc... on s'en approche, mais s'est plus simple Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 25 février 2005 Partager Posté(e) le 25 février 2005 Bon, après quelques tests, le mieux que j'ai trouvé, c'est ça : $ convert -delay 33 -size 400x400 -resize 400x400! -gravity "Center" -draw "text 0,190 \"$(date +%D)\"" *.jpg out.gif (et en plus, ça consomme pas 1Go de ram, ce qui est le cas si on ne met que le resize...) (si on veut garder l'aspect 4/3, il faut enlever le point d'exclamation et modifier la position du texte...) (pour la date y'a moyen de changer la forme) (et aussi la couleur du texte) EDIT : remplacer out.gif par out.mng pour faire du mng Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 25 février 2005 Partager Posté(e) le 25 février 2005 un point pour tuXXX, avec en remplaçant peut-être le gravity center par un gravity south et text 0,0 comme quoi, je l'avais dis que c'était facile Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.