OVH Cloud OVH Cloud

[sed]

4 réponses
Avatar
Bruno-L
hello

question bête,,, quoique! ;-)
je fais un
sed -n 123,125p ./file
qui m'affiche les lignes voulues,

je voudrais qu'il m'affiche aussi les numéro de lignes, j'essaye alors
de combiner p et =, en vain.
sed -n 123,125p= ./file
sed -n 123,125=p ./file
sed -n 123,125=/p ./file
sed -n 123,125p/= ./file

quelqu'un sait-il comment faire pour afficher un morceau de fichier
numéroté ?

merci


--
Bruno <http://graphitesurcellulose.hautetfort.com>

4 réponses

Avatar
Jacques L'helgoualc'h
Le 29-03-2006, Bruno-L a écrit :
hello


bonjour,

question bête,,, quoique! ;-)
je fais un
sed -n 123,125p ./file
qui m'affiche les lignes voulues,

je voudrais qu'il m'affiche aussi les numéro de lignes, j'essaye alors
de combiner p et =, en vain.
sed -n 123,125p= ./file
sed -n 123,125=p ./file
sed -n 123,125=/p ./file
sed -n 123,125p/= ./file

quelqu'un sait-il comment faire pour afficher un morceau de fichier
numéroté ?


sed -ne '123,125{=;p}' file

ou

sed -e '123,125!d=;' file

et piper vers un second sed pour mettre les numéros sur la même ligne

... | sed '1~2N;s,n,t,'

(testé avec GNU Sed).

Voir aussi <http://sed.sf.net/>.

merci


de rien,
--
Jacques L'helgoualc'h

Avatar
Stephane Chazelas
On Wed, 29 Mar 2006 14:36:20 +0200, Bruno-L wrote:

hello

question bête,,, quoique! ;-)
je fais un
sed -n 123,125p ./file
qui m'affiche les lignes voulues,

je voudrais qu'il m'affiche aussi les numéro de lignes, j'essaye alors
de combiner p et =, en vain.
sed -n 123,125p= ./file
sed -n 123,125=p ./file
sed -n 123,125=/p ./file
sed -n 123,125p/= ./file

quelqu'un sait-il comment faire pour afficher un morceau de fichier
numéroté ?
[...]


sed -n '123,125{p;=;}'

ou

sed '123,125!d;='

ou mieux:

sed '123,$!d;=;125q'

comme ca, sed s'arrete de lire a la 125 ligne.

awk 'NR == 123, NR == 125 {print NR ":" $0}'

awk 'NR >= 123 && NR <= 125 {print NR ":" $0}'

awk 'NR >= 123 {print NR ":" $0} NR == 125 {exit}'

Sinon:

nl -ba -d '
' < file | head -n 125 | tail -n 3

--
Stephane

Avatar
Stephane Chazelas
On Wed, 29 Mar 2006 13:26:10 +0000 (UTC), Jacques L'helgoualc'h wrote:
[...]
sed -ne '123,125{=;p}' file


Il faut un ";" pour separer la commande "p" de la commande "}".
Je m'etonne que ca marche avec GNU sed d'ailleurs.

ou

sed -e '123,125!d=;' file


Pareil, un ";" entre d et =.

Ca ne marche pas avec les GNU sed auxquels j'ai acces,
c'ailleurs.

et piper vers un second sed pour mettre les numéros sur la même ligne

... | sed '1~2N;s,n,t,'

(testé avec GNU Sed).
[...]


C'est GNU specifique (le ~ et les n, t).

Aucune de ces lignes de commande n'est POSIX ou Unix
conformant.

--
Stephane

Avatar
Jacques L'helgoualc'h
Le 29-03-2006, Stephane Chazelas a écrit :
On Wed, 29 Mar 2006 13:26:10 +0000 (UTC), Jacques L'helgoualc'h wrote:
[...]
sed -ne '123,125{=;p}' file


Il faut un ";" pour separer la commande "p" de la commande "}".
Je m'etonne que ca marche avec GNU sed d'ailleurs.


GNU sed version 4.1.4 (debian sarge)

ou

sed -e '123,125!d=;' file


Pareil, un ";" entre d et =.


Faute de frappe :/ --- mais je n'arrive pas à corriger le message via
aioe ...
--
Jacques L'helgoualc'h