Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

NEWBIE : lecture fichier + modif donnees

6 réponses
Avatar
J. Delgrange
Bonjour tout le monde,
c'est un newbie en PERL qui vient quemander quelques informations pour
resoudre son probleme.

Je dispose d'un fichier texte : chaque ligne fait 60 caracteres.
Je souhiterais trouver un petit script qui extrairait les 20 premiers
caracteres, supprimerait tous les espaces de cette chaine et reprendrait
cette chaine avec les 40 autres caracteres et tout ca pour me fournir un
fichier texte en sortie.

Quelqu'un aurait-il qqch de ce type sous le coude ?

Merci bcp,
Jerome

6 réponses

Avatar
Jedaï
J. Delgrange wrote:
Bonjour tout le monde,
c'est un newbie en PERL qui vient quemander quelques informations pour
resoudre son probleme.

Je dispose d'un fichier texte : chaque ligne fait 60 caracteres.
Je souhiterais trouver un petit script qui extrairait les 20 premiers
caracteres, supprimerait tous les espaces de cette chaine et reprendrait
cette chaine avec les 40 autres caracteres et tout ca pour me fournir un
fichier texte en sortie.

Quelqu'un aurait-il qqch de ce type sous le coude ?

Merci bcp,
Jerome


Peut-être :

perl -pe '$deb=substr $_,0,20; substr($_,0,20,($deb =~ tr/ //d))'
fichiersource >fichiertexte

Attention, c'est la version pour Unix, si tu l'essaies sous Dos,
remplace les "'" par des """ :)

Avatar
Jedaï
serge.john.swilting wrote:
Jedaï wrote:


J. Delgrange wrote:

Bonjour tout le monde,
c'est un newbie en PERL qui vient quemander quelques informations pour
resoudre son probleme.

Je dispose d'un fichier texte : chaque ligne fait 60 caracteres.
Je souhiterais trouver un petit script qui extrairait les 20 premiers
caracteres, supprimerait tous les espaces de cette chaine et reprendrait
cette chaine avec les 40 autres caracteres et tout ca pour me fournir un
fichier texte en sortie.

Quelqu'un aurait-il qqch de ce type sous le coude ?

Merci bcp,
Jerome




Peut-être :
perl -pe '$deb=substr $_,0,20; substr($_,0,20,($deb =~ tr/ //d))'
fichiersource >fichiertexte

Attention, c'est la version pour Unix, si tu l'essaies sous Dos,
remplace les "'" par des """ :)



ya pas un prog unix qui extrait un nombre de ligne code en argument
avec des eval
ou
des apostrophes à l envers``


Je ne comprend pas vraiment le sens de ta réponse serge.john, mais j'ai
trouvé encore mieux pour faire ce que demandait J. Delgrange :

perl -pe 'substr( $_, 0, 20 ) =~ tr/ //d' fichierSource >fichierTexte

Ca marche parfaitement (pourvu que les lignes fassent bien plus de 20
caractères), j'ai vérifié. :)
substr() est décidemment excellent ! ;)



Avatar
serge.john.swilting
Jedaï wrote:

serge.john.swilting wrote:
Jedaï wrote:


J. Delgrange wrote:

Bonjour tout le monde,
c'est un newbie en PERL qui vient quemander quelques informations pour
resoudre son probleme.

Je dispose d'un fichier texte : chaque ligne fait 60 caracteres.
Je souhiterais trouver un petit script qui extrairait les 20 premiers
caracteres, supprimerait tous les espaces de cette chaine et reprendrait
cette chaine avec les 40 autres caracteres et tout ca pour me fournir un
fichier texte en sortie.

Quelqu'un aurait-il qqch de ce type sous le coude ?

Merci bcp,
Jerome




Peut-être :
perl -pe '$deb=substr $_,0,20; substr($_,0,20,($deb =~ tr/ //d))'
fichiersource >fichiertexte

Attention, c'est la version pour Unix, si tu l'essaies sous Dos,
remplace les "'" par des """ :)



ya pas un prog unix qui extrait un nombre de ligne code en argument
avec des eval
ou
des apostrophes à l envers``


Je ne comprend pas vraiment le sens de ta réponse serge.john, mais j'ai
trouvé encore mieux pour faire ce que demandait J. Delgrange :

perl -pe 'substr( $_, 0, 20 ) =~ tr/ //d' fichierSource >fichierTexte

Ca marche parfaitement (pourvu que les lignes fassent bien plus de 20
caractères), j'ai vérifié. :)
substr() est décidemment excellent ! ;)


je suis peut etre un peu hors sujet




Avatar
serge.john.swilting
serge.john.swilting wrote:

Jedaï wrote:

J. Delgrange wrote:
Bonjour tout le monde,
c'est un newbie en PERL qui vient quemander quelques informations pour
resoudre son probleme.

Je dispose d'un fichier texte : chaque ligne fait 60 caracteres.
Je souhiterais trouver un petit script qui extrairait les 20 premiers
caracteres, supprimerait tous les espaces de cette chaine et reprendrait
cette chaine avec les 40 autres caracteres et tout ca pour me fournir un
fichier texte en sortie.

Quelqu'un aurait-il qqch de ce type sous le coude ?

Merci bcp,
Jerome


Peut-être :




un text comme ça on peut le placer dans un eval
ou peut etre en apostrophes inverses ``

je ne suis pas sur de moi

perl -pe '$deb=substr $_,0,20; substr($_,0,20,($deb =~ tr/ //d))'
fichiersource >fichiertexte

Attention, c'est la version pour Unix, si tu l'essaies sous Dos,
remplace les "'" par des """ :)


ya pas un prog unix qui extrait un nombre de ligne code en argument
avec des eval
ou
des apostrophes à l envers``




Avatar
serge.john.swilting
serge.john.swilting wrote:

serge.john.swilting wrote:

Jedaï wrote:

J. Delgrange wrote:
Bonjour tout le monde,
c'est un newbie en PERL qui vient quemander quelques informations pour
resoudre son probleme.

Je dispose d'un fichier texte : chaque ligne fait 60 caracteres.
Je souhiterais trouver un petit script qui extrairait les 20 premiers
caracteres, supprimerait tous les espaces de cette chaine et
reprendrait cette chaine avec les 40 autres caracteres et tout ca pour
me fournir un fichier texte en sortie.

Quelqu'un aurait-il qqch de ce type sous le coude ?

Merci bcp,
Jerome


Peut-être :




un text comme ça on peut le placer dans un eval
ou peut etre en apostrophes inverses ``

je ne suis pas sur de moi


dans tout les cas avec mon truc je crois tail
on est oblige de passer par substr

perl -pe '$deb=substr $_,0,20; substr($_,0,20,($deb =~ tr/ //d))'
fichiersource >fichiertexte

Attention, c'est la version pour Unix, si tu l'essaies sous Dos,
remplace les "'" par des """ :)


ya pas un prog unix qui extrait un nombre de ligne code en argument
avec des eval
ou
des apostrophes à l envers``






Avatar
serge.john.swilting
serge.john.swilting wrote:

Jedaï wrote:

serge.john.swilting wrote:
Jedaï wrote:


J. Delgrange wrote:

Bonjour tout le monde,
c'est un newbie en PERL qui vient quemander quelques informations pour
resoudre son probleme.

Je dispose d'un fichier texte : chaque ligne fait 60 caracteres.
Je souhiterais trouver un petit script qui extrairait les 20 premiers
caracteres, supprimerait tous les espaces de cette chaine et
reprendrait cette chaine avec les 40 autres caracteres et tout ca pour
me fournir un fichier texte en sortie.

Quelqu'un aurait-il qqch de ce type sous le coude ?

Merci bcp,
Jerome




Peut-être :
perl -pe '$deb=substr $_,0,20; substr($_,0,20,($deb =~ tr/ //d))'
fichiersource >fichiertexte

Attention, c'est la version pour Unix, si tu l'essaies sous Dos,
remplace les "'" par des """ :)



ya pas un prog unix qui extrait un nombre de ligne code en argument
avec des eval
ou
des apostrophes à l envers``


Je ne comprend pas vraiment le sens de ta réponse serge.john, mais j'ai
trouvé encore mieux pour faire ce que demandait J. Delgrange :

perl -pe 'substr( $_, 0, 20 ) =~ tr/ //d' fichierSource >fichierTexte

Ca marche parfaitement (pourvu que les lignes fassent bien plus de 20
caractères), j'ai vérifié. :)
substr() est décidemment excellent ! ;)


je suis peut etre un peu hors sujet



je concerve le texte ça me servira un jour