Aller au contenu

Le Linux BAR - Discussion de tout et de rien


Dark26

Messages recommandés

On pourra aussi espérer une meilleure stabilité au changement de res... parce que ça, ça n'a pas toujours été la joie (et d'ailleurs, c'est ce qui fait lamentablement planter X.org, une fois sur deux, jusqu'au 7.2, en multi-GPU drisé... pour les suivants, évidemment, puisque pas encore de multi-GPU en randr 1.2, la question ne se pose encore même pas)...

Lien vers le commentaire
Partager sur d’autres sites

C'est vrau que le "^" n'est pas vraiment utile puisqu'on utilise pas le /g (mais bon perso je mettrais quand même, juste pour le principe).

En fait, un deuxième problème se pose puisque par exemple ceci ne va pas marcher comme on veut :

$ echo -e '12\n3456789' | sed -e 's/^....//'

Du coup, il faut utiliser le flag /s avec perl, par exemple :

$ echo -e '12\n3456789' | perl -w -e 'my $l;while(<>){$l.=$_};$l=~s/^....//s;print $l'

(y'a peut-être plus propre pour lire l'entrée, mais bref)

Mais du coup, autant faire quelque chose de plus propre, par exemple :

$ echo -e '12\n3456789' | perl -w -e 'read(STDIN,my $s,4);while(<STDIN>){print}'

Il reste encore une petite chose qui pose problème puisque un caractère utf8 accentué va prendre ici 2 caractères, donc il faut dire à perl d'utiliser la locale en cours :

$ echo -e 'à2\n3456789' | perl -w -e 'use encoding ":locale";read(STDIN,my $s,4);while(<STDIN>){print}'

Voilà, ça marche bien, c'est assez propre. Ça retire les 4 premiers caractères, même si c'est des retours à la ligne ou des caractères utf8 de plusieurs octets!

Lien vers le commentaire
Partager sur d’autres sites

'foiré :reflechis:

Bon ok je l'ai cherché :fumer:

lorinc: lapin compris :love:

En fait, un deuxième problème se pose puisque par exemple ceci ne va pas marcher comme on veut :

$ echo -e '12\n3456789' | sed -e 's/^....//'

Mouais, c'est un peu tiré par les cheveux.

Si on considère que \n est un retour à la ligne, ça nous fait deux chaînes. Dans le cas contraire, \n fait partie de la chaîne et compte bien pour deux caractères.

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...