Si j'enlève le -i ou si j'utilise GNU sed, j'obtiens bien une
seule fois foobar. Le comportement ci-dessus est-il un bug, ou
est-ce que la construction que j'ai employée est non portable?
Si j'enlève le -i ou si j'utilise GNU sed, j'obtiens bien une seule fois foobar. Le comportement ci-dessus est-il un bug, ou est-ce que la construction que j'ai employée est non portable?
-i n'est certainement pas portable. Il semble que "-i" implique que "-n" soit ignoré dans ton cas.
Tu peux essayer d'inverser les options, ou de rajouter un -e '#n' pour voir si ca fait une difference.
"-i" est une GNUserie copiée par les BSD (a moins que ce soit le contraire).
perl -ni -e 'print if s/$/bar/' file
sera portable.
ex -sc '%s/$/bar/|w|q' file
sera POSIX.
-- Stephane
On Thu, 28 Jul 2005 10:28:48 +0000 (UTC), Vincent Lefevre wrote:
Si j'enlève le -i ou si j'utilise GNU sed, j'obtiens bien une
seule fois foobar. Le comportement ci-dessus est-il un bug, ou
est-ce que la construction que j'ai employée est non portable?
-i n'est certainement pas portable. Il semble que "-i" implique
que "-n" soit ignoré dans ton cas.
Tu peux essayer d'inverser les options, ou de rajouter un -e
'#n' pour voir si ca fait une difference.
"-i" est une GNUserie copiée par les BSD (a moins que ce soit le
contraire).
Si j'enlève le -i ou si j'utilise GNU sed, j'obtiens bien une seule fois foobar. Le comportement ci-dessus est-il un bug, ou est-ce que la construction que j'ai employée est non portable?
-i n'est certainement pas portable. Il semble que "-i" implique que "-n" soit ignoré dans ton cas.
Tu peux essayer d'inverser les options, ou de rajouter un -e '#n' pour voir si ca fait une difference.
"-i" est une GNUserie copiée par les BSD (a moins que ce soit le contraire).
perl -ni -e 'print if s/$/bar/' file
sera portable.
ex -sc '%s/$/bar/|w|q' file
sera POSIX.
-- Stephane
Vincent Lefevre
Dans l'article , Stephane Chazelas écrit:
perl -ni -e 'print if s/$/bar/' file
sera portable.
C'est vrai que j'utilise perl à d'autres endroits pour la portabilité, car il est installé partout.