pyxshell : piper des flux de texte en pur Python

Posté par (page perso) . Édité par Davy Defaud, Nÿco, Xavier Claude, Benoît Sibaud et Xavier Teyssier. Modéré par Xavier Claude. Licence CC by-sa.
33
16
jan.
2013
Python

pyxshell (à prononcer comme vous pouvez) est un module Python qui permet d’enchaîner des fonctions de traitement de flux avec un opérateur « tube » — pipe, en anglais — (|) , de la même manière qu’avec un shell.

Si — comme moi — vous devez régulièrement analyser à la main des données textuelles diversement structurées sous différents environnements. Si vous affectionnez la ligne de commande sans raffoler de la syntaxe de Bash, vous apprécierez d’avoir tout sous la main à côté de vos outils Python favoris.

Par exemple :

>>> out=[]
>>> (random.randint(0,2) for i in range(10)) | map(lambda x: ["Oui ","nous sommes ","tous différents "][x]) | sort | uniq | tee(sys.stdout) > out
Oui tous différents nous sommes
>>> print(out)
['Oui ', 'tous différents ', 'nous sommes ']

Journal Communes de France finissant par "ville"

Posté par . Licence CC by-sa.
36
4
jan.
2013

Sommaire

Une connaissance me faisait récemment remarquer qu’une très grande partie des communes françaises dont le nom finit par "ville" se situe en Normandie (départements 14-Calvados, 27-Eure, 50-Manche, 61-Orne et 76-Seine-Maritime).
Je décide donc de prendre la liste des communes françaises, de dénombrer celles finissant par "ville" et d’afficher tout ça sur une jolie carte.

Récupérer les données

La liste des communes est disponible sur le site de l’INSEE. (...)

Journal 100 scripts shell UNIX

Posté par (page perso) . Licence CC by-sa.
44
30
nov.
2012

Aujourd'hui pour me changer les idées, je me suis décidé à aller faire une petite razzia de bouquins à la bibliothèque de ma fac. Généralement, je sors assez déçu de ce genre d'expérience, mais pour une fois un livre a accroché mon esprit.

Il s'agit de 100 scripts shell UNIX par Dave Taylor, traduit en français, et aux éditions EYROLLES.
Ce petit bouquin d'environ 350 pages se propose de présenter, discuter, optimiser cent scripts shell.

Les chapitres

Le bouquin (...)

Forum Programmation.shell Trier une liste sur une partie du nom

Posté par .
Tags :
1
4
oct.
2012

Bonjour,

Je recherche une méthode en SHELL permettant de trier une liste de noms de fichiers. Toutes les commandes de base sont permises (ls, grep, sort, sed, awk, …)

Liste à trier contenu dans le fichier FOO.TXT :

01_ceci_est_le_nom_d_un_fichier_20121004_100000.txt
02_cela_est_un_autre_fichier_20111003_110000.csv
03_encore_un_autre_fichier_20121002_090000.tar
04_et_un_petit_dernier_pour_la_route_20121212_121212.tgz

Il faut que la commande magique puisse trier uniquement sur la partie 'YYYYMMJJ' pour donner :

02_cela_est_un_autre_fichier_20111003_110000.csv
03_et_encore_un_autre_fichier_20121002_090000.tar
01_ceci_est_le_nom_d_un_fichier_20121004_100000.txt
04_et_un_petit_dernier_pour_la_route_20121212_121212.tgz

La seul règle commune aux 4 noms de fichier de la liste est que les noms (...)

Journal Tu souhaites apprendre à programmer en shell

Posté par . Licence CC by-sa.
48
17
août
2012

Cher lecteur, tu souhaites apprendre à programmer le shell. Voici quelques recommendations que tu trouveras utiles (ou non).

(Ceci est une version modifiée d'un de mes commentaires planqué au fond du forum. Quand j'ai pensé au fantastique appeau à troll que j'avais écrit, j'ai décidé d'en faire un journal—c'est trolldi pour encore au moins deux longues heures!)

Usenet

Pour apprendre à programmer il faut lire beaucoup de programmes: abonne-toi à comp.unix.shell tu apprendras vite!

Bashing

Comme bash est un gros (...)

LiquidPrompt version 1.0

Posté par (page perso) . Édité par Nÿco et Florent Zara. Modéré par rootix. Licence CC by-sa.
Tags :
26
10
août
2012
Ligne de commande

LiquidPrompt est un prompt bash intelligent, dont l'idée générale est d'afficher élégamment des informations utiles uniquement quand le contexte le demande.

Un grand nombre de fonctionnalités, détaillées dans la suite de la dépêche, sont maintenant disponibles suite au succès fulgurant rencontré par la dernière dépêche sur le sujet.

NdM : nojhan est le papa des Geekscottes

Forum Programmation.autre [emacs] Raccourcie clavier et elisp

Posté par (page perso) .
Tags :
1
1
août
2012

Bonjour tout le monde !

Je viens de trouver un raccourcie clavier génial pour emacs : « C-u M-| ». Pour faire simple ça applique une commande shell sur la région et la remplace par sa sortie. Mais voilà bien qu'utilisateur régulier d'emacs, et donc habitué à me tordre les doigts, le raccourcie clavier associé est franchement lourds. Donc j'aimerai le remplacer. Vous aller me dire, rien de plus facile :

(global-set-key "\M-p" 'shell-command-on-region)

Malheureusement, pour avoir le comportement souhaité il (...)

Forum Programmation.shell commande ls amélioré

Posté par .
1
19
juil.
2012

Bonjour, je voudrais afficher certaines infos via la commande ls

actuellement je fais ceci:

ls -lotr /Data/FIC*20120718* >$HOME/fic.list

et j'obtiens ceci comme résultat:

-rw-r----- 1 webadm 168 Jul 18 01:00 /Data/FIC_20120718_0100.csv
-rw-r----- 1 webadm 168 Jul 18 02:00 /Data/FIC_20120718_0200.csv
-rw-r----- 1 webadm 168 Jul 18 03:00 /Data/FICDATA_20120718_0300.csv

ce que je voudrais c'est juste afficher ceci

01:00 /Data/FIC_20120718_0100.csv
02:00 /Data/FIC_20120718_0200.csv
03:00 /Data/FICDATA_20120718_0300.csv

Journal Liquid prompt — un prompt Bash adaptatif utile : déménagement

Posté par (page perso) .
23
19
juil.
2012

Pour ceux qui auraient suivi la dépêche « Un prompt bash utile, sans poudre aux yeux » ou ceux qui seraient intéressés par un prompt Bash qui déchire, sachez que — suite au franc succès rencontré — le projet a maintenant son propre dépôt : Liquid prompt.

Mettez à jour vos signets et outils de suivis !

Forum Programmation.shell Copier tous les fichiers d'une arborescence dans un même répertoire

Posté par .
2
5
juil.
2012

Salut,

J'ai un tas de fichiers texte dans une arborescence, et je voudrais les copier
tous dans un même répertoire de destination, comme ceci:

content/foo.txt           ->      $DEST/foo.txt
content/bar.md            ->      $DEST/bar.md
content/baz/quux.html     ->      $DEST/quux.html
content/baz/foobar.rst    ->      $DEST/foobar.rst
... etc ...

J'ai essayé de faire comme ceci:

find content/ -exec cp -v {} $DEST/`basename {}` ';'

Mais bien entendu, ça n'a pas marché, puisque c'est le shell qui interprétait la
commande basename et pas find

J'ai aussi regardé dans le man (...)

Journal fasd

Posté par (page perso) . Licence CC by-sa.
11
4
mai
2012

J'ai découvert aujourd'hui fasd, c'est un outil pour la console qui s'inspire entre autres d'autojump dont on a en entendu parler ici (Voir derniers contenus sur autojump)

 

Il propose un ensemble d'alias préconfigurés qui vont plus loin que le déplacement dans le système de fichier. Les exemples tirés de la documentation :

  v def conf       =>     vim /some/awkward/path/to/type/default.conf
  j abc            =>     cd /hell/of/a/awkward/path/to/get/to/abcdef
  m movie          =>     mplayer /whatever/whatever/whatever/awesome_movie.mp4
  o eng paper      =>     xdg-open /you/dont/remember/where/english_paper.pdf
  vim `f
(...)

Mosh, the Mobile Shell

Posté par . Édité par Nÿco, baud123 et Xavier Claude. Modéré par NeoX. Licence CC by-sa.
57
16
avr.
2012
Ligne de commande

Mosh est une application permettant d'ouvrir une session à distance et sécurisée sur une machine de type Unix.

À la différence du célèbre et incoutournable SSH, Mosh offre la possibilité de maintenir une session ouverte tout en étant connecté par intermittence (roaming IP), d'où son nom : Mobile Shell.
Ce dernier est une alternative au couple SSH+Screen.

Fonctionnement

Mosh utilise SSH pour se connecter sur l'hôte distant. Une fois la connexion établie, un processus mosh-server prend le relais sur un port UDP en ouvrant une nouvelle session sécurisée et ferme la session SSH. Le client communique alors directement avec mosh-server. Avantage de la solution ? Si le client change d'adresse IP et qu'il retente une connexion à travers SSH, mosh-server reprend le dialogue avec la nouvelle adresse IP.

Mosh utilise aussi une approche différente de SSH pour la gestion de l'affichage du terminal client. Mosh n'attend pas une réponse de l'hôte distant pour afficher ce qui a été saisi par l'utilisateur. Le client et le serveur possèdent chacun un instantané (snapshot) de l'écran à afficher. La solution de Mosh repose sur la synchronisation de ces deux états. Ce qui permet à l'utilisateur de réduire les impressions de latence si la qualité de sa connexion est mauvaise.

Autres points importants :

  • Mosh n'a pas besoin des droits super-utilisateur pour s'exécuter.
  • Mosh impose un environnement en UTF-8 et ne gère pas d'autres encodages.
  • Mosh ne gère pas encore le X-forwarding, ni le Port-forwarding.

Journal Auto-pub: bctl

Posté par . Licence CC by-sa.
35
3
avr.
2012

Tel un enfant de trois ans fier de son gribouillage immonde, je m’en viens vous faire part de mon dernier bidule codé en quelques heures avec les piedsprojet.

Tout est partit d’un constat simple (que j’ai fait il y a quelques années quand même, mais je suis une grosse feignassel’idée a donc bien eu le temps de mûrir dans ma tête) : tous les jours, awk, grep, perl, sed et des centaines d’autres outils géniaux (...)

Coloriser la sortie d'une commande arbitraire

Posté par (page perso) . Édité par NeoX. Modéré par j. Licence CC by-sa.
36
31
mar.
2012
Ligne de commande

Ne vous est-il jamais arrivé de souhaiter que la sortie de votre commande favorite soit en couleurs, afin de vous aider à trouver l'information que vous cherchez ? Que celui qui n'a jamais pesté devant les affichages de g++, en dehors de son IDE favori, sur un code utilisant des templates, me jette la première pierre.

En attendant la nouvelle génération de terminaux, il vous reste au moins deux options : acoc ou colout.