L'été est fini, c'est la rentrée ! Pour se remettre en forme, rien de tel qu'une revue des techniques de programmation en shell — ces techniques sont pour le shell de Bourne /bin/sh
mais peuvent être utilisées avec les shells compatibles qui permettent parfois des solutions plus faciles.
Journal 100 scripts shell UNIX
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 (…)
Bash 5 : une introduction
La troisième version du document « Introduction à la programmation en Bash » (IUT de Rodez) vient de paraître. Elle est principalement destinée aux étudiants de niveau Licence.
Journal Envoyer un SMS rapidement depuis le terminal
Je continue à me servir des journaux LinuxFR comme sauvegarde pour mes scripts shells pourris.
J’utilise KDE Connect pour relier mon téléphone à mon ordinateur. Ça permet plein de choses, y compris répondre rapidement aux textos reçus. Par contre, impossible de commencer un texto depuis l’interface graphique. L’outil en ligne de commande, en revanche, le permet.
Voici un script qui permet d’envoyer un texto rapidement depuis la ligne de commande. Le script invoque votre éditeur de texte préféré (indiqué dans (…)
Journal Host@home évolue
Tout d'abord, rappelons ce qu'est et ce que fait hostathome : c'est un script facilitant la mise en place d'un serveur auto-hébergé. Il se veut simple d'utilisation, tout en laissant un maximum de choix à l'utilisateur. Si ça vous intéresse, il en a déjà été question sur linuxfr.
Le journal d'aujourd'hui présente rapidement où en est le projet, qui a connu plusieurs changements grâce aux interventions de différents contributeurs.
Travail sur la sécurité
- Fail2ban (…)
Journal Écouter la radio
Salut,
Je me suis fait un petit script pour écouter la radio par internet sur mon laptop.
Ça s'utilise dans un terminal ou on peut l'appeler par un raccourci clavier par exemple.
Il faut mettre le script dans le path de l'utilisateur et lui donner les droits d'execution (chmod u+x fichier).
Ensuite on choisit ses radios préférées et on récupère l'adresse des flux par exemple ici : Liste de flux radio. Il faut les renseigner dans le script.
Et (…)
Journal Récupérer une liste de lecture Apple
Je suis récemment allé à une soirée où le choix musical m'a plu. La personne qui mettait sa musique a découvert qu'elle pouvait me partager sa liste en m'envoyant un lien qui pointe vers https://music.apple.com/fr/playlist/[quelque chose]
.
Je n'ai pas iTunes. Mon but : récupérer cette liste et en faire un truc que je peux utiliser. Ce journal est aussi un prétexte pour jouer avec jq, un outil pour faire des requêtes sur des données formatées en JSON.
Prenons (…)
Lien The Missing Semester of Your CS Education
Lien Advanced Bash Scripting Guide
Forum Programmation.shell ajouter une entrée fstab en bash
Bonjour,
Je dois ajouter une entrée de fstab sur 70 postes de dev;
Hélas je ne dispose pas d'outils comme puppet.
J'ai donc décidé de faire un script bash que j'enverrai aux développeurs qui l’exécuteront de la façon suivante: sudo ./scriptfs.sh
Cependant étant moins compétant sur Linux que sur Windows et ne maitrisant pas la programmation bash je sollicite votre aide pour améliorer/corriger le simulacre de script que j'ai gribouillé.
De plus je n'ai ni vm ni poste linux de (…)
Forum Programmation.shell Problème sur enchainement de commandes find et rsync
Bonjour à tous, je parcours régulièrement ce forum dans lequel je trouve souvent des réponses mais après avoir passé pas mal de temps sur un enchainement de commandes, je sèche…
Pour info je ne suis ni programmeur ni informaticien, mais passionné d'informatique pour me faciliter la vie.
J'ai des fichiers de sauvegardes horaires très nombreux et je souhaite récupérer assez facilement certaines versions de fichiers à certaines dates et les recopier à un autre endroit pour exploitation. La ligne de (…)
Forum général.général Shell script / parse XML, limites ?
Bonjour,
Je suis dans une impasse, je dois parser un fichier typique au contenu ci-dessous pour le transformer en CSV en en conservant uniquement certaines parties… j'ai environ 10000 lignes !!! à parser tous les mois :/
Ci-dessous une démo du fichier XML:
http://pastebin.fr/31819
Idéallement je dois avoir en output (ex):
192.168.1.2;22344;3;Mine
192.168.1.2;22301;4;Nope
192.168.1.2;22899;2;Goog
etc… et ce pour chaque Host…
J'ai bien fait des tentatives avec des boucles while + grep -A$x (x est incrémenté jusqu a ce qu il trouve (…)
Forum Programmation.shell Ne garder qu'une seule occurrence de chaque ligne d'un fichier
Bonjour,
J'ai un fichier texte avec 5000 lignes dont beaucoup sont en double ou triple.
J'aimerai ne garder qu'une seule occurrence de chaque lignes.
J'ai essayé avec sort | uniq -u mais il supprime toute les occurrences des lignes en doublon.
Savez vous comment je peux faire pour ne conserver que une seule ligne?
Merci
Forum Linux.général Script ssh sans mot de passe
Hello,
J'ai besoin d'automatiser l'envoie de données en ssh (rsync) et je cherche un moyen simple de ne pas ecrire le mot de passe en clair dans le script.
J'ai fourni ma clé publique au propriétaire du serveur mais à chaque tour de boucle rsync me demande de ressaisir à nouveau la passphrase que j'ai utilisé pour créer la paire de clés.
Avez vous une solution simple?
Merci de votre aide
Forum Programmation.autre Sed sur plusieurs lignes
Bonjour,
Utilisateur de sed depuis des lustres… il y a un truc que je n'arrive pas à faire… et qui me chicane vraiment. J'ai toujours contourné le problème avec du Perl, mais, cette fois, c'est pour de l'embarqué (en fait une raspberry pi que je ne contrôle pas) et je n'ai pas de Perl à disposition.
Le problème
J'ai de nombreux fichiers qui ont un nombre variable de lignes de la forme:
%!PostProc(Xhtml): 'bidule' 'capsule'
Mais il peut y avoir (…)