Gil Cot ✔ a écrit 6119 commentaires

  • [^] # Re: Remarques

    Posté par  (site web personnel, Mastodon) . En réponse au message Wrapper for ALSA recording of playback device. Évalué à 3.

    et cut, si on lui indique l’espace comme séparateur, considère alors qu’il s’agit de plusieurs champs vides. Comportement qui a sûrement une bonne raison d’être, mais que je ne saisi pas.

    C’est que la plupart de ces outils viennent d’une époque où les choses devaient être KISS et là il s’agit de pouvoir manipuler des fichiers DSV tous bêtes (contrairement à cette immondice de CSV…) Un exemple connu de ce type est le fichier /etc/passwd (et aussi la variable PATH) avec -d ':'

    jsmith:x:1001:1000:Joe Smith,Room 1007,(234)555-8910,(234)555-0044,email:/home/jsmith:/bin/sh

    l’équivalent pour Markdown, sauce GFM et similaires, serait avec -d '|'

    jsmith|x|1001|1000|Joe Smith,Room 1007,(234)555-8910,(234)555-0044,email|/home/jsmith|/bin/sh

    et tu pourrais avoir une application qui utilise des espaces, soit -d ' '
    (dans tous les cas, il faut éviter la collision de délimiteur —par exemple avec le blanc souligné ici mais ce pourrait être un autre espacement comme l’insécable)

    jsmith x 1001 1000 Joe_Smith,Room_1007,(234)555-8910,(234)555-0044,email /home/jsmith /bin/sh

    Avec ce type de format, DSV, la convention a toujours été que tous les champs soient présents, même vides. Dans ce cas, on a deux successions de délimiteur…

    jsmith:x:1001:1000::/home/jsmith:/bin/sh

    …règle qui ne change pas selon le délimiteur (on a dit kiss, pas avec des exceptions comme en français)

    jsmith x 1001 1000  /home/jsmith /bin/sh

    (dans cet exemple, en ayant changé le délimiteur, on ne casse pas notre cut -d ' ' -f 6 héhé)

    Alors que awk considère les espaces multiples comme un seul séparateur.

    C’est un poil plus subtil. Quand AWK ont mis au point l’outil, c’était pour traiter des fichiers avec une structuration un peu plus complexe et ils ont prévu de pouvoir pratiquement tout définir (comprendre décrire le format du fichier…) Du coup, au lieu de travailler ligne par ligne, leur programme gobe tout le fichier et se fait un tableau interne dont les lignes sont découpées au niveau de la valeur de RS (qui est le saut de ligne par défaut) et les colonnes/champs (cette fois-ci variables —i.e. contrairement à du DSV toutes les lignes ne sont pas obligées d’avoir le même nombre de champs) au niveau de FS (qui est toute succession de blancs par défauts, comme la variable IFS pour le shell…) :) Tu as bien un seul séparateur, et c’est là sa différence, le séparateur n’est plus un seul caractère-délimiteur mais une expression rationnelle (soit [:blank:]…)
    C’est à cause de ce traitement plus coûteux que cet utilitaire n’a pas simplement remplacé les autres : chacun répond à des besoins différents, malgré la ressemblance de prime abord.

    • awk -F ' ' '{print $3}' (on utilise comme séparateur de champs, le caractère espace, et non la regexp par défaut) devra te donner le même résultat que cut -d ' ' -f 3
    • awk -F ':' '{print $1}' devra te donner le même résultat que cut -d ':' -f 1

    Ressemblance de prime abord parce-que AWK ont prévu aussi qu’on puisse personnaliser à la sortie/affichage les séparateurs de champs (valeur de OFS qui est par défaut l’espace unique) et d’enregistrement (valeur de ORS qui est par défaut le saut de ligne)

    • awk -F '|' '{print $2,$4}' va, par défaut, afficher les deux champs séparés par une espace… tandis que cut -d '|' -f 2,4 va garder le même séparateur (et il n’est pas prévu de changer cela par défaut sauf en enchainant avec un tr '|' ' ' par exemple.)
    • awk -F ' ' '{print $3,$1}' va bien nous sortir successivement les troisièmes et premiers champs… tandis que cut -d ' ' -f 3,1 est pareil à cut -d ' ' -f 1,3 car les champs ne sont pas réordonnés…

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: Remarques

    Posté par  (site web personnel, Mastodon) . En réponse au message Wrapper for ALSA recording of playback device. Évalué à 2.

    Arf, j’aurais du vérifier avant d’écrire une connerie ^^ En c’est POSIX et il me semble l’avoir déjà rencontré mais bon mon refus des implicites doit faire que j’oublie chaque fois.

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: Remarques

    Posté par  (site web personnel, Mastodon) . En réponse au message Wrapper for ALSA recording of playback device. Évalué à 4.

    Dans tous les cas, l’affectation a un coût (certes négligeable) ; et si tu ne le ressens pas dans ton programme compilé ce sera plutôt du aux optimisations… (où le compilateur aura probablement généré le même code en détectant qu’il y a une affectation inutile.) :)

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: Remarques

    Posté par  (site web personnel, Mastodon) . En réponse au message Wrapper for ALSA recording of playback device. Évalué à 3. Dernière modification le 07 octobre 2023 à 18:08.

    Tu m’apprends qu’on n’a pas besoin d’indiquer un délimiteur. Et que cut se débrouille.

    Je n’ai pas compris cela, et si c’était l’intention bah c’est faux : il y a une valeur par défaut, la tabulation, quand on n’indique pas de délimiteur. No magic, RTFM.

    on peut faire un cut en mettant une tabulation (en utilisant Ctrl+v),

    Comme ton script est en bash, tu peux utiliser cut -d $'\t' comme mentionné par un autre commentaire. Mais bon, comme c’est le délimiteur par défaut, pas besoin de s’embêter…
    Par contre, oui :

    on ne peut pas faire un cut -d"\n"

    It's not a bug, that's by designpour la simple et bonne raison que la commande opère sur les lignes

    mais dans un script je trouve ça pas terrible. Et je crois que j’ai bêtement crû que c’était une suite d’espaces…

    C’est hélas un souci courant (pas du tout propre aux scripts shell.) Mon éditeur est toujours configuré pour distinguer visuellement les simples espaces des tabulations.
    Dans le cas présent, on pouvait se douter qu’il s’agit de tabulation (ou d’une erreur qui ne va pas fonctionner) car le délimiteur doit être un caractère !

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: Remarques

    Posté par  (site web personnel, Mastodon) . En réponse au message Wrapper for ALSA recording of playback device. Évalué à 3.

    Parmi les remarques, aucun commentaire n’a tilté sur la première ligne qui m’a bloquée perso

    test "${1}" || { echo -e "\nUsage: ${0} <file>\n"; exit 1; }

    Il manque l’option du type de test fait, qui je devine est de savoir s’il y a un argument ?

    test -n "${1}" || { echo "Usage: ${0} <file>"; exit 1; }
    # ou alternativement
    test -z "${1}" && { echo "Usage: ${0} <file>"; exit 1; }
    # voire encore
    test $# -lt 1 && { echo "Usage: ${0} <file>"; exit 1; }
    # ou je pense
    test $# -ge 1 || { echo "Usage: ${0} <file>"; exit 1; }

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: la France veut déjà le faire ...

    Posté par  (site web personnel, Mastodon) . En réponse au lien La Russie envisage d'essayer de bloquer les services VPN en 2024. Évalué à 3. Dernière modification le 05 octobre 2023 à 22:44.

    Imposer un DNS menteur, n’est-ce pas faire du Kim ?

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: Adhésion

    Posté par  (site web personnel, Mastodon) . En réponse au message votre alternative préférée à.. facebook?. Évalué à 5.

    C’est surprenant qu’à notre époque, les associations étant supposées réunir/associer les gens se sentent obligées de passer par des plateformes qui isolent dans des bulles en plus de contrôler vos vies. Les humains sont paradoxaux.

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: Sortir dehors ?

    Posté par  (site web personnel, Mastodon) . En réponse au message votre alternative préférée à.. facebook?. Évalué à 2.

    t’es genre ovs ?

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: procédurier

    Posté par  (site web personnel, Mastodon) . En réponse au journal Découverte de l'Entity Component System avec Bevy. Évalué à 3.

    J‘ai plutôt compris qu’on se préoccupe des procédures des événements isolément, mais pas de la méga procédure d’ordonnancement…

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: Année de naissance de Jésus-Christ

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Où il est question de conservation. Évalué à 3.

    De plus, le lien pointé ne dit pas non catégoriquement mais juste : peut-être bien que oui, peut-être bien que non… Mais visiblement Madeiros n’a pas écouté pas plus qu’il ne fera cas des liens de vulgarisation suivants :

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: Quand ils sont venu chercher les journalistes ...

    Posté par  (site web personnel, Mastodon) . En réponse au lien la France va mal, et la liberté de la presse en souffre. Évalué à 3.

    (et quand fut venu mon tour, il n’y avait plus de journaliste pour dénoncer)

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: correction du lien…

    Posté par  (site web personnel, Mastodon) . En réponse au lien la France va mal, et la liberté de la presse en souffre. Évalué à 3.

    Merci.

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: merci pour le partage 😃

    Posté par  (site web personnel, Mastodon) . En réponse au journal Tour des GULL : hors série. Évalué à 2. Dernière modification le 05 octobre 2023 à 20:10.

    Les épisodes sont régulièrement disponibles sur linuxfr.org, avec une étiquette idoine.

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • # correction du lien…

    Posté par  (site web personnel, Mastodon) . En réponse au lien la France va mal, et la liberté de la presse en souffre. Évalué à 8.

    …pour retirer la clef utm_source et sa valeur.

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: sssssssss....

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche À la découverte du langage V. Évalué à 3.

    Attention qu’il s’agissait de la victoire des intras sur les hôtes extras… C’est vrai que c’est à double versant cette lettre ;-)

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: curl|sh

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche À la découverte du langage V. Évalué à 2.

    Si, si, il s’agit bien du téléchargement fait par le Make sans qu’on puisse garantir quoi que ce soit.

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: il est ou le problème ?

    Posté par  (site web personnel, Mastodon) . En réponse au journal Guide d'openwashing : comment passer d'un projet opensource à un logiciel bridé et privateur ?. Évalué à 3.

    Pour ma part, pas vu

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: 200e journal

    Posté par  (site web personnel, Mastodon) . En réponse au journal LinuxFr.org : seconde quinzaine de septembre 2023. Évalué à 2. Dernière modification le 01 octobre 2023 à 17:06.

    Idée de journal pour aider ton avancement : les karmapaliers.

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • # à corréler avec l'annonce au sujet de Ferrocene ?

    Posté par  (site web personnel, Mastodon) . En réponse au lien AdaCore Announces Gnat Pro for Rust. Évalué à 5. Dernière modification le 01 octobre 2023 à 01:10.

    https://ferrous-systems.com/blog/ferrocene-update/

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: MFA sans téléphone

    Posté par  (site web personnel, Mastodon) . En réponse au journal Importer des "issues" GitHub dans des "tickets" Trac. Évalué à 3.

    C'est important l'impression… (en vrai, par rapport aux certifications et autres, c'est bien pour ces boîtes de montrer que c'est ok de leur côté …là en déportant la responsabilité chez les usagers)

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: MFA sans téléphone

    Posté par  (site web personnel, Mastodon) . En réponse au journal Importer des "issues" GitHub dans des "tickets" Trac. Évalué à 3.

    Oui, il a beaucoup de fonctionnalités mais un peu moins ; et surtout j'avais trouvé l'ensemble plus léger à l'utilisation —ça ne veut pas dire que c'est léger dans l'absolu, juste plus léger que GitLab. J'ai déjà le serveur de bases qui tourne donc ça change pas beaucoup pour moi.
    Après, par méfiance pour le tout intégré (et qu'on ne sait pas migrer d'une solution à une autre), je me dis que Trac pour les tickets et Gogs pour s'interfacer aux dépôts peut être un bon choix.

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: Wiki

    Posté par  (site web personnel, Mastodon) . En réponse au journal Importer des "issues" GitHub dans des "tickets" Trac. Évalué à 3.

    Arf, en plus git --horror …ce devrait être juste man git …mais ma version a auto-retiré cette option (bien que je ne pense pas avoir atteint la perfection)

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: MFA sans téléphone

    Posté par  (site web personnel, Mastodon) . En réponse au journal Importer des "issues" GitHub dans des "tickets" Trac. Évalué à 4. Dernière modification le 30 septembre 2023 à 19:31.

    Problématique similaire ici : je n’ai pas le luxe de dépendre du téléphone pour des trucs persos d’une part, et j’ai un serveur perso sur lequel je devais migrer (au pire sinon miroiter au mieux) le contenu de mon GH. Le souci ce sont les quelques tickets.

    J’avais vu que GitLab est capable d’assurer le déménagement ; mais je ne sais pas si c’est disponible avec une instance perso d’une part et l’instance perso je trouve ça un peu trop consommatrice (et overkill pour mon besoin) d’autre part.
    Je suis en train de regarder Forgejo, mais ça ne fait que l’import ou le miroir (disponible aussi de l’autre côté avec la même limitation …donc mal nommé migration du coup.)
    Je vais du coup regarder ton travail aussi.

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: Wiki

    Posté par  (site web personnel, Mastodon) . En réponse au journal Importer des "issues" GitHub dans des "tickets" Trac. Évalué à 2.

    Ni man git-horror ni git help horror ne fonctionnent chez moi :( Tu dois avoir un truc en plus installé ? Ou une config perso ? (Tiens, git help -a me liste aussi mes alias…)

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • [^] # Re: Je ne suis pas sûr que les logiciels libres soient moins consommateurs de ressources CPU/Mém

    Posté par  (site web personnel, Mastodon) . En réponse au journal Cailloux, joujoux, bijoux. Évalué à 4.

    Oui, peut-être pas favori mais qu’on aime (bien/beaucoup) :) Et inversement, les gens ont tendance à détester des langages et essayer de les basher à la première occasion qui se présente :s

    La remarque du passage de PHP5 à PHP7 s’applique aussi du passage de Python3.5 à Python3.7 (d’ailleurs, j’avais ironisé une fois que toutes les annonces de nouvelle version se ressemblent de plus en plus : premièrement et le plus important, on a boosté la vitesse d’exécution…)
    Les tests mesurent l’utilisation naïve des langages ; et quand je vois certaines bases que j’ai vu en entreprise ainsi que certains liens en commentaire de ce journal, cela s’applique déjà aux codeurs d’aujourd’hui (pas du futur…) Ceci dit, ce n’est qu’un des aspects du problème qui est en gros qu’on a besoin de plus de code de qualité quelque soit le langage : j’ai déjà vu du code en C performer moins bien que l’équivalent en PHP (après investigation c’était une question de choix d’algorithmes, comme quoi.)

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume