Le dim. 21 juil. 2019 à 10:44, Patrice Karatchentzeff
<patrice.karatchentzeff@???> a écrit :
>
> Salut
>
> C'est bizarre de mettre du sed au milieu d'un script en perl... Perl le fait aussi bien tout seul... et tu perds beaucoup en perf en forkant vers le shell...
>
> Pour répondre à ta question, tu peux inverser ta commande ( qui fait deux forks !)
>
> my $sline = `head -n1 050618_C2H2_R2_0_25Pa_2.txt | tr -d '\r\n'`
>
> puis
>
> system (etc... ), $line
>
> Mais honnêtement, c'est quasi illisible ton script et il sera inmaintenable...
>
> Surtout que tu peux tout faire sur un seul commande en perl (ou en plusieurs pour rendre lisible et maintenable...)
>
> Un truc qui peut t'aider :
>
> http://articles.mongueurs.net/magazines/linuxmag55.html
>
> Bonne chance
>
> Le dim. 21 juil. 2019 à 01:29, Patrick Dupre <pdupre@???> a écrit :
>>
>> Bonjour,
>>
>> Dans un programme perl je peux faire
>>
>> system ("sed 's/[\\-]\\?[.0-9e]*[-+]\\?[0-9]*,[0-9]\\?.[0-9]*e\\?[-+]\\?[0-9]*$//' <<< "line[nb_samp-1]" | tr -d '\n'")
>> sur un fichier linux (ou apres conversion d'un fichier dos2 unix)
>>
>> Comme je veux eviter cette conversion, je fais :
>> system ("sed 's/[\\-]\\?[.0-9e]*[-+]\\?[0-9]*,[0-9]\\?.[0-9]*e\\?[-+]\\?[0-9]*$//' <<< "line[nb_samp-1]" | tr -d '\r\n'")
>>
>> Mais cela ne fonctonne pas car la fin de ligne n'est pas detectee par sed
>>
>> J'ai bien verifie avec:
>>
>> head -n1 050618_C2H2_R2_0_25Pa_2.txt |tr -d '\r\n'| od -a
>>
>> me suprime bien le \t\n caracteres de fin de ligne du dos.
>> ou
>> encore
>> sed 's/[\-]\?[.0-9e]*[-+]\?[0-9]*,[0-9]\?.[0-9]*e\?[-+]\?[0-9]*$//' <<< `head -n1 050618_C2H2_R2_0_25Pa_2.txt | tr -d '\r\n'`
>> fonctionne correctemnt.
>>
>> Il faut donc que je fasse la meme chose depuis perl.
>> C'est-a-dire:
>> il faut forcer la commande
>> "line[nb_samp-1]" | tr -d '\r\n'
>> avant le sed
>> Mais je ne sais comment faire.
>>
>> Merci d'avance
>>
>> ===========================================================================
>> Patrick DUPRÉ | | email: pdupre@???
>> Laboratoire interdisciplinaire Carnot de Bourgogne
>> 9 Avenue Alain Savary, BP 47870, 21078 DIJON Cedex FRANCE
>> Tel: +33 (0)380395988
>> ===========================================================================
>>
>>
>
>
> --
> |\ _,,,---,,_ Patrice KARATCHENTZEFF
> ZZZzz /,`.-'`' -. ;-;;,_ mailto:patrice.karatchentzeff@gmail.com
> |,4- ) )-,_. ,\ ( `'-'
> '---''(_/--' `-'\_)
--
|\ _,,,---,,_ Patrice KARATCHENTZEFF
ZZZzz /,`.-'`' -. ;-;;,_ mailto:patrice.karatchentzeff@gmail.com
|,4- ) )-,_. ,\ ( `'-'
'---''(_/--' `-'\_)