Effectivement, awk/sed sont les outils qu'on va assez vite dégainer pour traiter des flux de texte. Je suis tombé l'option -o de grep il y a peu de temps. Elle n'est pas portable mais si tu es sous Linux, ça serait dommage de se priver.
Ensuite, yapuka (c) enlever les petits morceaux qui traînent avec l'outil de ton choix. Par exemple en pipant dans un sed du genre (...) | sed -e 's/to=<\(.*\)>/\1/'
En sed pur, on peut aussi faire des trucs, mais c'est un peu moins lisible, et la solution que j'ai ne peut traiter qu'une seul adresse par ligne (ce qui à priori n'est pas trop grave pour ton cas mais bon :) sed -ne '/to=</,/>/ s/.*to=<\(.*\)>.*/\1/p' fichier
C'est pas t que 4chan "lance" quoi que ce soit. La plupart du temps, ça reste très underground. La majorité des fils de discussions sont des gigantesques troll fests, faites d'hybridages permanents de références multiples et croisées. Pour moi, c'est un peu comme une soupe primitive avec une cohorte de bactéries interagissant au hasard.
Faut bien comprendre que 4chan n'est qu'une infrastructure technique. Tout ce qui vient de 4chan vient en fait de la "communauté" des utilisateurs. Comme il n'y a pas de login, pas de noms d'utilisateurs, le résultat est une espèce d'hydre à 1000 têtes. Du coup, dans l'article d'infos du net, 4Chan indique à tous ses utilisateurs, ça ne veut rien dire. Deux formulations correctes seraient "4Chan indique à 4Chan" ou "des utilisateurs de 4Chan indiquent à d'autres utilisateurs"
Pour répondre à ta question initiale (oui, enfin ;), dans tout le fatras qui passe sur 4chan, de temps en temps, y a des trucs qui émergent et qui évoluent en quelque chose d'autre.
- parfois sérieux :
Il y a quelques temps, on avait un peu entendu parler d'Anonymous (mais pas trop en France) contre la scientologie: http://en.wikipedia.org/wiki/Project_Chanology
- La plupart du temps, c'est du n'importe quoi : http://icanhascheezburger.com/ http://musicmachinery.com/2009/04/15/inside-the-precision-ha(...)
le rickrolling, effectivement
Sûrement d'autres trucs dont l'origine est 4chan mais dont on ne connaît que la vitrine publique.
dans toutes les actions qui prennent un peu d'envergure, l'objectif initial, c'est toujours plus au moins de se fendre la gueule, éventuellement aux dépends d'un sinistre.
Attention, je le répète, la majorité du trafic sur 4chan, c'est quand même du troll (avec toutes les interventions racistes, misogynes, révisionnistes qu'on peut attendre d'un nid à trolls) et du pr0n, 'videmment ;). N'allez pas traîner là bas en pensant assister à un feu d'artifices de contributions toutes plus stupéfiantes les unes que les autres, vous seriez déçus :D
Pour /b/, faut pas oublier de lire les petits caractères:
The stories and information posted here are artistic works of fiction and falsehood.
Only a fool would take anything posted here as fact.
oui, le format est débile, si tu considère que l'objet du message est de diffuser un contenu. La, clairement, le contenu est très faible. C'est de la com'
L'article d'infos-du-net est vraiment mauvais. Vu la façon dont c'est présenté, on a l'impression qu'il y a eu un gros figth entre ATT et 4chan et que c'est une sorte de fait historique. En fait, cf le billet du 27 Juillet ici : http://status.4chan.org/ et http://www.att.com/gen/press-room?pid=4800&cdvn=news&(...)
bref, de la pure anecdote.
La conclusion, c'est du bonheur Aux vues de ces recommandations, on est tenté de croire à la création d’un mouvement de panique visant à déséquilibrer la Toile. Tiendra-t-elle le choc ?
Si c'est pas risible comme conclusion ça ! :D
Pour TechCrunch, ce "grabuge" de 4Chan vise à "créer un ennui généralisé" pour atteindre l'effet "hilarant de voir tout le monde paniquer", plutôt qu'annoncer une réelle menace.
ouais, bien possible ça.
Marrant de voir les média tomber encore une fois dans le panneau du "on vous en parle mais peut-être que leur objectif, c'est juste d'en faire parler".
En utilisant simplement des print dans stdout, ça risque d'être assez velu =)
Regarde du côté du module curses, qui devrait te permettre de faire ce que tu veux (affichage multilines en console)
cf http://www.amk.ca/python/howto/curses/
Le module binascii propose pleins de fonctions sympas pour convertir des trucs dans tous les sens. De tête, je ne peux pas dire laquelle te conviendrait, mais un petit help (binascii) sera un bon point de départ ;)
post-up command
Run command after bringing the interface up. If this command
fails then ifup aborts, refraining from marking the interface as
configured (even though it has really been configured), prints
an error message, and exits with status 0. This behavior may
change in the future.
A priori, il suffit que ta post-up command vérifie le SSID avant de déclencher ton script le cas échéant.
En général, je pars de la fin des traces strace et je remonte en cherchant l'erreur. Je ne compte plus le nombre de fois ou ça m'a débrouillé des problèmes de droits ou de chemins différents de ce que je pensais.
Si la trace est un peu longue, les gens ont l'habitude de coller ça genre ici : pastebin.com/
Il me semble que tu peux tout à fait écrire du soft proprio par dessus du code GPL, tant que le soft résultant n'est utilisé qu'en interne (cad qu'il n'y a pas de redistribution)
The GNU Project has two principal licenses to use for libraries. One is the GNU Lesser GPL; the other is the ordinary GNU GPL. The choice of license makes a big difference: using the Lesser GPL permits use of the library in proprietary programs; using the ordinary GPL for a library makes it available only for free programs.
Pour préciser, ta remarque est valable pour les libs LGPL. Si tu links statiquement une lib LGPL, ton code doit être compatible GPL. Si tu links dynamiquement une lib LGPL, ton code peut être sous n'importe quelle licence.
Par contre, pour une lib purement GPL, tu n'as pas le choix. Quelque soit la technique de link utilisée (statique ou dynamique), ton logiciel doit être compatible GPL.
nope, pas en utilisant le '+' à la fin de l'option -exec
cela dit, j'utilise systèmatiquement la version xargs, parce que :
- portabilité entre les unix (et oui, le find Solaris 9 est bien tout pourrave)
- pas envie d'apprendre des options spécifiques de find quand des commandes usuelles de shell, plus flexibles, permettent de faire la même chose.
Je militerais presque pour qu'on enlève des options de find ... pour revenir aux sources d'unix : faire une seule chose et le faire bien.
en fait, tout dépend du contexte dans lequel tu t'en sers.
Dans cas là, strace n'est pas utilisé pour tracer les appels systèmes, mais pour profiter d'un effet de bord : la détection de la fin du process. C'est typiquement du hack ;-)
Mais le fait de viser l'effet de bord, ça rend la solution trompeuse pour des lecteurs non avertis, et du coup, ça réduit la maintenabilité de la solution.
ça va bien pour un script fait chez soi, mais si c'est dans un contexte pro, il faut documenter ça, tout en sachant que de toute façon, personne lit la doc :D
C'est dans ce sens là que je trouve ça un peu crade.
bon, après, y a aussi des problèmes de portabilité sur d'autre *nix mais comme on est sur *linux*fr, on en parle pas (un troll se cache peut-être dans cette phrase ;-)
Après, c'est vrai que strace avec l'option -e'' (je vais pas faire mon malin, je la connaissais pas :), c'est probablement moins gourmand que le classique strace sans option qui te raconte la vie du noyau de la première lib dynamique pas trouvée 150 fois pendant le chargement du process aux 3 misérables appels systèmes dont ton code est "vraiment" responsable =)
Faudrait bencher de toute façon (comme pour toute les questions de perf)
sinon, le polling, c'est mal, mais ça peut être un compromis acceptable (comme d'utiliser strace ;-) là, y a que minitchoup qui sait vraiment ce qu'il veut faire ...
je précise, pour prévenir les interprétations erronées :
1/ les autres propositions de rb14 ne sont pas crades
2/ la solution que je propose est juste une vague ébauche pour signaler qu'il serait possible de mettre en place un méchanisme qui permettrait d'être notifié de la terminaison du processus fils d'un autre processus. Dans la pratique, ça vaut pas le coup. N'importe quelle solutions en shell, quitte à faire un peu de polling, sera sûrement plus adaptée !
# sed, grep, awk
Posté par gaaaaaAab . En réponse au message Afficher un champ précis depuis un log. Évalué à 3.
$ echo "blablabla to=<addr1@machin.truc> bliblibli to=<addr2@truc.bidule>" > fichier
$ grep -o "to=<\([^>]*\)>" fichier
to=<addr1@machin.truc>
to=<addr2@truc.bidule>
Ensuite, yapuka (c) enlever les petits morceaux qui traînent avec l'outil de ton choix. Par exemple en pipant dans un sed du genre
(...) | sed -e 's/to=<\(.*\)>/\1/'
En sed pur, on peut aussi faire des trucs, mais c'est un peu moins lisible, et la solution que j'ai ne peut traiter qu'une seul adresse par ligne (ce qui à priori n'est pas trop grave pour ton cas mais bon :)
sed -ne '/to=</,/>/ s/.*to=<\(.*\)>.*/\1/p' fichier
pour en savoir plus sur sed:
http://www.commentcamarche.net/faq/478-sed
http://www.grymoire.com/Unix/Sed.html
[^] # Re: un autre lien
Posté par gaaaaaAab . En réponse au journal 09 02 09. Évalué à 1.
[^] # Re: Publicité...
Posté par gaaaaaAab . En réponse au journal 09 02 09. Évalué à 10.
http://gawker.com/346385/what-the-hell-are-4chan-ed-somethin(...)
Faut bien comprendre que 4chan n'est qu'une infrastructure technique. Tout ce qui vient de 4chan vient en fait de la "communauté" des utilisateurs. Comme il n'y a pas de login, pas de noms d'utilisateurs, le résultat est une espèce d'hydre à 1000 têtes. Du coup, dans l'article d'infos du net, 4Chan indique à tous ses utilisateurs, ça ne veut rien dire. Deux formulations correctes seraient "4Chan indique à 4Chan" ou "des utilisateurs de 4Chan indiquent à d'autres utilisateurs"
Pour répondre à ta question initiale (oui, enfin ;), dans tout le fatras qui passe sur 4chan, de temps en temps, y a des trucs qui émergent et qui évoluent en quelque chose d'autre.
- parfois sérieux :
Il y a quelques temps, on avait un peu entendu parler d'Anonymous (mais pas trop en France) contre la scientologie: http://en.wikipedia.org/wiki/Project_Chanology
- La plupart du temps, c'est du n'importe quoi :
http://icanhascheezburger.com/
http://musicmachinery.com/2009/04/15/inside-the-precision-ha(...)
le rickrolling, effectivement
Sûrement d'autres trucs dont l'origine est 4chan mais dont on ne connaît que la vitrine publique.
dans toutes les actions qui prennent un peu d'envergure, l'objectif initial, c'est toujours plus au moins de se fendre la gueule, éventuellement aux dépends d'un sinistre.
Attention, je le répète, la majorité du trafic sur 4chan, c'est quand même du troll (avec toutes les interventions racistes, misogynes, révisionnistes qu'on peut attendre d'un nid à trolls) et du pr0n, 'videmment ;). N'allez pas traîner là bas en pensant assister à un feu d'artifices de contributions toutes plus stupéfiantes les unes que les autres, vous seriez déçus :D
Pour /b/, faut pas oublier de lire les petits caractères:
The stories and information posted here are artistic works of fiction and falsehood.
Only a fool would take anything posted here as fact.
[^] # Re: Gâchis de ressources...
Posté par gaaaaaAab . En réponse au journal 09 02 09. Évalué à 2.
# un autre lien
Posté par gaaaaaAab . En réponse au journal 09 02 09. Évalué à 6.
bref, de la pure anecdote.
La conclusion, c'est du bonheur Aux vues de ces recommandations, on est tenté de croire à la création d’un mouvement de panique visant à déséquilibrer la Toile. Tiendra-t-elle le choc ?
Si c'est pas risible comme conclusion ça ! :D
http://tempsreel.nouvelobs.com/actualites/vu_sur_le_web/2009(...)
Pour TechCrunch, ce "grabuge" de 4Chan vise à "créer un ennui généralisé" pour atteindre l'effet "hilarant de voir tout le monde paniquer", plutôt qu'annoncer une réelle menace.
ouais, bien possible ça.
Marrant de voir les média tomber encore une fois dans le panneau du "on vous en parle mais peut-être que leur objectif, c'est juste d'en faire parler".
[^] # Re: Publicité...
Posté par gaaaaaAab . En réponse au journal 09 02 09. Évalué à 6.
[^] # Re: then
Posté par gaaaaaAab . En réponse au message erreur if , fi ?. Évalué à 3.
[^] # Re: Le succès à tout prix?
Posté par gaaaaaAab . En réponse à la dépêche La Ligue ODEBI lance un projet "d'armée numérique". Évalué à 2.
wow ! Vraiment trop gros là :D
[^] # Re: en termes d'exclusion...
Posté par gaaaaaAab . En réponse au journal Linus à propos des contributions de Microsoft. Évalué à 7.
# curses
Posté par gaaaaaAab . En réponse au message Threading : comment faire un sys.stdout sur plusieurs lignes (ou identifier chaque thread) ?. Évalué à 3.
Regarde du côté du module curses, qui devrait te permettre de faire ce que tu veux (affichage multilines en console)
cf http://www.amk.ca/python/howto/curses/
# binascii
Posté par gaaaaaAab . En réponse au message Conversion de genre.... Évalué à 3.
# window manager
Posté par gaaaaaAab . En réponse au message Trouver qui change la résolution de l'écran ??. Évalué à 2.
Regarde du côté des préférences de ton Window Manager, à priori, il doit être configuré pour passer ton affichage en 1280x960 à chaque login.
# awk ou ... ?
Posté par gaaaaaAab . En réponse au message Extraire des blocs de données dans un fichier. AWK?. Évalué à 3.
[^] # Re: /etc/network/interfaces
Posté par gaaaaaAab . En réponse au message Demarrer un prog lors de la connexion wifi sur un certain SSID ?. Évalué à 1.
C'est plus crado mais si tu peux supporter t'attendre 1 minutes, tu peux aussi coller un script en cron
# /etc/network/interfaces
Posté par gaaaaaAab . En réponse au message Demarrer un prog lors de la connexion wifi sur un certain SSID ?. Évalué à 2.
post-up command
Run command after bringing the interface up. If this command
fails then ifup aborts, refraining from marking the interface as
configured (even though it has really been configured), prints
an error message, and exits with status 0. This behavior may
change in the future.
A priori, il suffit que ta post-up command vérifie le SSID avant de déclencher ton script le cas échéant.
[^] # Re: strace
Posté par gaaaaaAab . En réponse au message SVN checkout KO. Évalué à 2.
Du coup, plutôt que
strace svn ... > strace.out
fait plutôt
strace svn ... 2> strace.out
[^] # Re: strace
Posté par gaaaaaAab . En réponse au message SVN checkout KO. Évalué à 2.
En général, je pars de la fin des traces strace et je remonte en cherchant l'erreur. Je ne compte plus le nombre de fois ou ça m'a débrouillé des problèmes de droits ou de chemins différents de ce que je pensais.
Si la trace est un peu longue, les gens ont l'habitude de coller ça genre ici : pastebin.com/
# strace
Posté par gaaaaaAab . En réponse au message SVN checkout KO. Évalué à 1.
oui, c'est un peu laconique comme commentaire :)
[^] # Re: À vue de nez....
Posté par gaaaaaAab . En réponse au message programme LGPL et bibliothèque GPL. Évalué à 1.
[^] # Re: À vue de nez....
Posté par gaaaaaAab . En réponse au message programme LGPL et bibliothèque GPL. Évalué à 4.
cf le paragraphe non politique de http://www.gnu.org/licenses/why-not-lgpl.html :
The GNU Project has two principal licenses to use for libraries. One is the GNU Lesser GPL; the other is the ordinary GNU GPL. The choice of license makes a big difference: using the Lesser GPL permits use of the library in proprietary programs; using the ordinary GPL for a library makes it available only for free programs.
Pour préciser, ta remarque est valable pour les libs LGPL. Si tu links statiquement une lib LGPL, ton code doit être compatible GPL. Si tu links dynamiquement une lib LGPL, ton code peut être sous n'importe quelle licence.
Par contre, pour une lib purement GPL, tu n'as pas le choix. Quelque soit la technique de link utilisée (statique ou dynamique), ton logiciel doit être compatible GPL.
[^] # Re: Suite et fin
Posté par gaaaaaAab . En réponse au message Redimensionner un système de fichier. Évalué à 2.
[^] # Re: GUIpavas
Posté par gaaaaaAab . En réponse à la dépêche Install party à Guipavas. Évalué à 1.
--> []
[^] # Re: si j'étais méchant
Posté par gaaaaaAab . En réponse au message niveau de recherche dans répertoire - reference croisé. Évalué à 4.
cela dit, j'utilise systèmatiquement la version xargs, parce que :
- portabilité entre les unix (et oui, le find Solaris 9 est bien tout pourrave)
- pas envie d'apprendre des options spécifiques de find quand des commandes usuelles de shell, plus flexibles, permettent de faire la même chose.
Je militerais presque pour qu'on enlève des options de find ... pour revenir aux sources d'unix : faire une seule chose et le faire bien.
[^] # Re: la scrutation c'est pas top
Posté par gaaaaaAab . En réponse au message attendre la fin d'un processus créé depuis un autre shell. Évalué à 1.
Dans cas là, strace n'est pas utilisé pour tracer les appels systèmes, mais pour profiter d'un effet de bord : la détection de la fin du process. C'est typiquement du hack ;-)
Mais le fait de viser l'effet de bord, ça rend la solution trompeuse pour des lecteurs non avertis, et du coup, ça réduit la maintenabilité de la solution.
ça va bien pour un script fait chez soi, mais si c'est dans un contexte pro, il faut documenter ça, tout en sachant que de toute façon, personne lit la doc :D
C'est dans ce sens là que je trouve ça un peu crade.
bon, après, y a aussi des problèmes de portabilité sur d'autre *nix mais comme on est sur *linux*fr, on en parle pas (un troll se cache peut-être dans cette phrase ;-)
Après, c'est vrai que strace avec l'option -e'' (je vais pas faire mon malin, je la connaissais pas :), c'est probablement moins gourmand que le classique strace sans option qui te raconte la vie du noyau de la première lib dynamique pas trouvée 150 fois pendant le chargement du process aux 3 misérables appels systèmes dont ton code est "vraiment" responsable =)
Faudrait bencher de toute façon (comme pour toute les questions de perf)
sinon, le polling, c'est mal, mais ça peut être un compromis acceptable (comme d'utiliser strace ;-) là, y a que minitchoup qui sait vraiment ce qu'il veut faire ...
[^] # Re: la scrutation c'est pas top
Posté par gaaaaaAab . En réponse au message attendre la fin d'un processus créé depuis un autre shell. Évalué à 1.
1/ les autres propositions de rb14 ne sont pas crades
2/ la solution que je propose est juste une vague ébauche pour signaler qu'il serait possible de mettre en place un méchanisme qui permettrait d'être notifié de la terminaison du processus fils d'un autre processus. Dans la pratique, ça vaut pas le coup. N'importe quelle solutions en shell, quitte à faire un peu de polling, sera sûrement plus adaptée !