Re: [Resolu][script] modifier le dernier caractere de chaque ligne d'un fichier
Edi STOJICEVIC wrote: * Alexandre Mackow <[EMAIL PROTECTED]> [2007-05-29 15:55:10 +0200] wrote : Salut, Tu as une liste dédié sur les shellscript disponible ici : --> http://debianworld.org/?q=shellscript-fr A+ Bonjour, merci pour le lien j'y cours... C'est donc resolu, merci sed et merci a tous ceux ayant apporté leur contribution à la résolution de mon soucis. Pour precision c'etait bien le dernier caractère de chaque ligne que je devais modifier, comme l'indique le titre, mon corps de message etant un peu plus confus. Encore merci. ++ -- Alexandre Mackow -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: [script] modifier le dernier caractere de chaque ligne d'un fichier
Daniel Caillibaud a écrit, mercredi 30 mai 2007, à 14:33 : > Jacques L'helgoualc'h wrote: > >On peut simplifier : > > > > sed -i.bak -e 's/.$/4/' fichier > > Oui, mais là tu remplace le dernier caractère de toutes les lignes par un 4. > J'avais compris qu'il fallait l'ajouter à la fin de la dernière ligne. Toutes les lignes non-vides. Alexandre demandait « si le nom du fichier contient un P alors remplacer le dernier caractère par un 4 » Effectivement ambigu, mais la suite est claire « Comment faire pour remplacer le dernier caractere de chaque ligne » -- Jacques L'helgoualc'h -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: [script] modifier le dernier caractere de chaque ligne d'un fichier
* Alexandre Mackow <[EMAIL PROTECTED]> [2007-05-29 15:55:10 +0200] wrote : > Bonjour à tous, > je suis amené, dans le cadre de mon taf, a essayer de metter en place > une solution de scripting. > J'ai un repertoire donné, dans ce repertoire via une tache cron, je > dois effectuer une modif sur le fichier... > En reel ca donne, si le nom du fichier contient un P alors remplacer le > dernier caractère par un 4 > Comment faire pour remplacer le dernier caractere de chaque ligne > Certainement via sed mais je ne trouve pas l'option dernier caractere... > > Quelqu'un connait il une solution? > Par avance merci. Salut, Tu as une liste dédié sur les shellscript disponible ici : --> http://debianworld.org/?q=shellscript-fr A+ -- . ''`. (\___/) E d i S T O J I C E V I C : :' : (='.'=) http://www.debianworld.org `. `~' (")_(") GPG: 0x1237B032 `- -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: [script] modifier le dernier caractere de chaque ligne d'un fichier
Jacques L'helgoualc'h wrote: On peut simplifier : sed -i.bak -e 's/.$/4/' fichier Oui, mais là tu remplace le dernier caractère de toutes les lignes par un 4. J'avais compris qu'il fallait l'ajouter à la fin de la dernière ligne. -- Daniel -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: [script] modifier le dernier caractere de chaque ligne d'un fichier
Daniel Caillibaud a écrit, mercredi 30 mai 2007, à 11:13 : > Alexandre Mackow wrote: > > >Bonjour à tous, bonjour, > >je suis amené, dans le cadre de mon taf, a essayer de metter en place > >une solution de scripting. > >J'ai un repertoire donné, dans ce repertoire via une tache cron, je > >dois effectuer une modif sur le fichier... > >En reel ca donne, si le nom du fichier contient un P alors remplacer le > >dernier caractère par un 4 > > Le dernier caractère du fichier ou de son nom ? > > >Comment faire pour remplacer le dernier caractere de chaque ligne > >Certainement via sed > > oui, par exemple > > >mais je ne trouve pas l'option dernier caractere... > > dernier de la ligne, c'est '$' dans une regexp (les autres ont répondu), le > dernier du fichier, c'est aussi $ mais comme sélecteur > Par exemple > sed -i -e '$ s/\(.*\)$/\14/' fichier > > va ajouter le caractère 4 à la fin de la dernière ligne de fichier. > > le -i précise de faire ça sur le fichier directement, sans backup. > Pour un backup du fichier original (avec ajout de .bak) > sed -i .bak -e '$ s/\(.*\)$/\14/' fichier On peut simplifier : sed -i.bak -e 's/.$/4/' fichier ou 's/.\?$/4/' sur toutes les lignes, mêmes vides. Pour la question posée, cd répertoire/ && sed -i.bak -e 's/.$/4/' *P* donnera un avertissement si un nom de sous-répertoire contient un P. > cf entre autres, http://cli.asyd.net/home/filtres/sed Cf. aussi http://sed.sf.net/ et ses collections d'unilignes. -- Jacques L'helgoualc'h -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: [script] modifier le dernier caractere de chaque ligne d'un fichier
Alexandre Mackow wrote: Bonjour à tous, je suis amené, dans le cadre de mon taf, a essayer de metter en place une solution de scripting. J'ai un repertoire donné, dans ce repertoire via une tache cron, je dois effectuer une modif sur le fichier... En reel ca donne, si le nom du fichier contient un P alors remplacer le dernier caractère par un 4 Le dernier caractère du fichier ou de son nom ? Comment faire pour remplacer le dernier caractere de chaque ligne Certainement via sed oui, par exemple mais je ne trouve pas l'option dernier caractere... dernier de la ligne, c'est '$' dans une regexp (les autres ont répondu), le dernier du fichier, c'est aussi $ mais comme sélecteur Par exemple sed -i -e '$ s/\(.*\)$/\14/' fichier va ajouter le caractère 4 à la fin de la dernière ligne de fichier. le -i précise de faire ça sur le fichier directement, sans backup. Pour un backup du fichier original (avec ajout de .bak) sed -i .bak -e '$ s/\(.*\)$/\14/' fichier cf entre autres, http://cli.asyd.net/home/filtres/sed -- Daniel -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: Fwd: [script] modifier le dernier caractere de chaque ligne d'un fichier
Galevsky wrote: -- Forwarded message -- From: Galevsky <[EMAIL PROTECTED]> Date: 29 mai 2007 16:11 Subject: Re: [script] modifier le dernier caractere de chaque ligne d'un fichier To: Alexandre Mackow <[EMAIL PROTECTED]> alors pour ce qui est des regexp. le web regorge de doc. pour info /.*\(.\).$/ se lit: ".*" => n'importe quel caractère un nombre inconnu de fois (0->n) suivi de "\(.\)" un seul caractère qui est capturé, suivi de ".$" qui signifie un seul caractère situé tout a la fin de la ligne. Et oui, /^toto.*/ match une ligne commençant par toto, et /.*tata$/ une ligne finissant par tata. Donc dans ton sed tu veux capturer tout sauf le dernier caractère et ajouter un 4 : [1016] echo "hello world" | sed -e "s/\(.*\).$/\14/" hello worl4 En ce qui concerne cycler dans ton répertoire, et faire le test du filename qui possède un "P", je te laisse essayer par tes propres moyens ;o) Mais te donne au passage le lien suivant: http://www.tldp.org/LDP/abs/html/index.html Gal' Yep merci à tous les 2 ( Thomas Clavier et galevsky ) C'est pile poil ce que je desirai Merci pour la reactivité ++ -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Fwd: [script] modifier le dernier caractere de chaque ligne d'un fichier
-- Forwarded message -- From: Galevsky <[EMAIL PROTECTED]> Date: 29 mai 2007 16:11 Subject: Re: [script] modifier le dernier caractere de chaque ligne d'un fichier To: Alexandre Mackow <[EMAIL PROTECTED]> alors pour ce qui est des regexp. le web regorge de doc. pour info /.*\(.\).$/ se lit: ".*" => n'importe quel caractère un nombre inconnu de fois (0->n) suivi de "\(.\)" un seul caractère qui est capturé, suivi de ".$" qui signifie un seul caractère situé tout a la fin de la ligne. Et oui, /^toto.*/ match une ligne commençant par toto, et /.*tata$/ une ligne finissant par tata. Donc dans ton sed tu veux capturer tout sauf le dernier caractère et ajouter un 4 : [1016] echo "hello world" | sed -e "s/\(.*\).$/\14/" hello worl4 En ce qui concerne cycler dans ton répertoire, et faire le test du filename qui possède un "P", je te laisse essayer par tes propres moyens ;o) Mais te donne au passage le lien suivant: http://www.tldp.org/LDP/abs/html/index.html Gal' Le 29/05/07, Alexandre Mackow<[EMAIL PROTECTED]> a écrit : Bonjour à tous, je suis amené, dans le cadre de mon taf, a essayer de metter en place une solution de scripting. J'ai un repertoire donné, dans ce repertoire via une tache cron, je dois effectuer une modif sur le fichier... En reel ca donne, si le nom du fichier contient un P alors remplacer le dernier caractère par un 4 Comment faire pour remplacer le dernier caractere de chaque ligne Certainement via sed mais je ne trouve pas l'option dernier caractere... Quelqu'un connait il une solution? Par avance merci. ++ -- Alexandre Mackow -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: [HS] [script] modifier le dernier caractere de chaque ligne d'un fichier
Alexandre Mackow a écrit : > Certainement via sed mais je ne trouve pas l'option dernier caractere... à défaut de dernier caractère, il y a la fin de ligne, ce qui donne : s/\(.*\).$/\14/ -- Thomas Clavier http://www.tcweb.org Lille Sans Fil http://www.lillesansfil.org +33 (0)6 20 81 81 30JabberID : [EMAIL PROTECTED] smime.p7s Description: S/MIME Cryptographic Signature
[script] modifier le dernier caractere de chaque ligne d'un fichier
Bonjour à tous, je suis amené, dans le cadre de mon taf, a essayer de metter en place une solution de scripting. J'ai un repertoire donné, dans ce repertoire via une tache cron, je dois effectuer une modif sur le fichier... En reel ca donne, si le nom du fichier contient un P alors remplacer le dernier caractère par un 4 Comment faire pour remplacer le dernier caractere de chaque ligne Certainement via sed mais je ne trouve pas l'option dernier caractere... Quelqu'un connait il une solution? Par avance merci. ++ -- Alexandre Mackow -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]