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

sed: remplacer les dernieres lignes de fichiers par un mot...

27 réponses
Avatar
njko
Salut la liste!

Un petit message car je galère avec sed....
Je souhaiterais supprimer les 25 dernières lignes de plusieurs fichiers,
et y mettre à la place un simple mot.

D'apres ce que j'ai compris de la doc, j'ai tenté quelques commandes,
jamais bon.


sed -i -e "s/$-25/nouveaumot/g" *.php

par exemple.. me rajoute un nouveaumot à chaque ligne.

Comment dire à sed de remplacer les n dernieres lignes de différents
fichiers par un mot?
Quelqun-e aurait une piste?

Merci et bonne continuation!


Nicolas

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

7 réponses

1 2 3
Avatar
Jacques L'helgoualc'h
Mathieu JANIN a écrit, mercredi 24 décembre 2008, à 12:07 :
[...]
Ben oui, mais finalement, on est encore en dessous en faisant bêtement:

tail -n25 <fichier> && echo Le mot de la fin.



Ah que non, tu ne conserves que les 25 dernières lignes, celles qu'il
faut effacer :

~ $ echo {1..42}|sed 's/ /n/g'|
tail -n25&&echo Le mot de la fin.
18
19
20
[...]
42
Le mot de la fin.

Ca ne dépasse pas 35 caractères sans compter le nom du fichier



Bah, il ne compte pas, le jeu est de piper (histoire de disqualifier
ceux qui lisent deux fois le fichier :).

(40 si on se met à égalité par rapport aux autres shells en préfixant
par sh -c ): il y a peut être plus d'une manière de faire, mais autant
en revenir au commandes basiques qui ne font qu'une chose mais le font
bien.

non ?



Bien, heu, le double tac plus bas doit être assez goret ?

Arf.



Arf++

~ $ echo {1..42}|sed 's/ /n/g'|
tac|tail -n+26|tac&&echo Le mot de la fin.
1
2
3
[...]
17
Le mot de la fin.

*42* caractères, le compte est bon... Joyeux Noël !
--
Jacques L'helgoualc'h

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Philippe Merlin
Le mercredi 24 décembre 2008, François Boisson a écrit :
> Le but était de garder tout sauf les 25 dernières lignes pas de gar der
> les 25 dernières et c'est justement pour ça qu'on fait tous mumuse
> depuis hier ^^

head -n-25 fichier && echo lemotdelafin

François Boisson

> Je remarque d'ailleurs que personne n'a encore proposé de le faire av ec
> php ;)

Tu le veux en brainfuck :)?



Désolé François je n'avais pas encore vu ta solution.
Philippe

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Etienne CROMBEZ
------=_Part_21064_12826689.1230123648969
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: base64
Content-Disposition: inline

TGUgMjQgZMOpY2VtYnJlIDIwMDggMTI6MTgsIEplYW4tQmFwdGlzdGUgSMOpdGllciA8Y29udGFj
dEBkamliLmZyPiBhIMOpY3JpdCA6Cgo+IEV0IHBvdXJxdW9pIHBhcyB2aW0gdGFudCBxdSdvbiB5
IGVzdCA6RAo+Cj4gdmltICskLTI1LCRzL1xfLiovbm91dmVhdW1vdC9nICt3cSB0ZXN0Cj4KPiBN
b2kgYydlc3QgY2UgcXVlIGplIHRyb3V2ZSBsZSBwbHVzIGxpc2libGUsIGNvdXJ0IGV0IG5hdHVy
ZWwgIQo+Cj4gPiBKb3lldXggbm/Dq2whCgoKSmUgcHJlZmVyZSB0b3Vqb3VycyB0YWlsIGV0IGRp
ZmYKYydlc3QgY2UgcXVpIG1lIHNlbWJsZSBldHJlIGxlIHBsdXMgbGlzaWJsZQo ------=_Part_21064_12826689.1230123648969
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: base64
Content-Disposition: inline

PGJyPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+TGUgMjQgZMOpY2VtYnJlIDIwMDggMTI6
MTgsIEplYW4tQmFwdGlzdGUgSMOpdGllciA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1h
aWx0bzpjb250YWN0QGRqaWIuZnIiPmNvbnRhY3RAZGppYi5mcjwvYT4mZ3Q7PC9zcGFuPiBhIMOp
Y3JpdCA6PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9ImJvcmRlci1s
ZWZ0OiAxcHggc29saWQgcmdiKDIwNCwgMjA0LCAyMDQpOyBtYXJnaW46IDBwdCAwcHQgMHB0IDAu
OGV4OyBwYWRkaW5nLWxlZnQ6IDFleDsiPgpFdCBwb3VycXVvaSBwYXMgdmltIHRhbnQgcXUmIzM5
O29uIHkgZXN0IDpEPGJyPgo8YnI+CnZpbSArJC0yNSwkcy9cXy4qL25vdXZlYXVtb3QvZyArd3Eg
dGVzdDxicj4KPGJyPgpNb2kgYyYjMzk7ZXN0IGNlIHF1ZSBqZSB0cm91dmUgbGUgcGx1cyBsaXNp
YmxlLCBjb3VydCBldCBuYXR1cmVsICE8YnI+Cjxicj4KJmd0OyBKb3lldXggbm/Dq2whPC9ibG9j
a3F1b3RlPjxkaXY+PGJyPkplIHByZWZlcmUgdG91am91cnMgdGFpbCBldCBkaWZmPGJyPmMmIzM5
O2VzdCBjZSBxdWkgbWUgc2VtYmxlIGV0cmUgbGUgcGx1cyBsaXNpYmxlPGJyPjxicj48L2Rpdj48
L2Rpdj48YnI+Cg= ------=_Part_21064_12826689.1230123648969--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Philippe Merlin
Le mercredi 24 décembre 2008, Kevin Hinault a écrit :
Le 24 décembre 2008 12:07, Mathieu JANIN a écrit :
> Ben oui, mais finalement, on est encore en dessous en faisant bêtemen t:
>
> tail -n25 <fichier> && echo Le mot de la fin.
>
> Ca ne dépasse pas 35 caractères sans compter le nom du fichier (40 si on
> se met à égalité par rapport aux autres shells en préfixant par sh -c ):
> il y a peut être plus d'une manière de faire, mais autant en reveni r au
> commandes basiques qui ne font qu'une chose mais le font bien.
>
> non ?

non :)

Le but était de garder tout sauf les 25 dernières lignes pas de garder
les 25 dernières et c'est justement pour ça qu'on fait tous mumuse
depuis hier ^^

Je remarque d'ailleurs que personne n'a encore proposé de le faire avec php
;)



moi je me lance avec une variante :
head --lines=-25 <fichier> && echo " Le mot de la fin".
bon noël.
Philippe

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Etienne CROMBEZ
------=_Part_21064_12826689.1230123648969
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: base64
Content-Disposition: inline

TGUgMjQgZMOpY2VtYnJlIDIwMDggMTI6MTgsIEplYW4tQmFwdGlzdGUgSMOpdGllciA8Y29udGFj
dEBkamliLmZyPiBhIMOpY3JpdCA6Cgo+IEV0IHBvdXJxdW9pIHBhcyB2aW0gdGFudCBxdSdvbiB5
IGVzdCA6RAo+Cj4gdmltICskLTI1LCRzL1xfLiovbm91dmVhdW1vdC9nICt3cSB0ZXN0Cj4KPiBN
b2kgYydlc3QgY2UgcXVlIGplIHRyb3V2ZSBsZSBwbHVzIGxpc2libGUsIGNvdXJ0IGV0IG5hdHVy
ZWwgIQo+Cj4gPiBKb3lldXggbm/Dq2whCgoKSmUgcHJlZmVyZSB0b3Vqb3VycyB0YWlsIGV0IGRp
ZmYKYydlc3QgY2UgcXVpIG1lIHNlbWJsZSBldHJlIGxlIHBsdXMgbGlzaWJsZQo ------=_Part_21064_12826689.1230123648969
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: base64
Content-Disposition: inline

PGJyPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+TGUgMjQgZMOpY2VtYnJlIDIwMDggMTI6
MTgsIEplYW4tQmFwdGlzdGUgSMOpdGllciA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1h
aWx0bzpjb250YWN0QGRqaWIuZnIiPmNvbnRhY3RAZGppYi5mcjwvYT4mZ3Q7PC9zcGFuPiBhIMOp
Y3JpdCA6PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9ImJvcmRlci1s
ZWZ0OiAxcHggc29saWQgcmdiKDIwNCwgMjA0LCAyMDQpOyBtYXJnaW46IDBwdCAwcHQgMHB0IDAu
OGV4OyBwYWRkaW5nLWxlZnQ6IDFleDsiPgpFdCBwb3VycXVvaSBwYXMgdmltIHRhbnQgcXUmIzM5
O29uIHkgZXN0IDpEPGJyPgo8YnI+CnZpbSArJC0yNSwkcy9cXy4qL25vdXZlYXVtb3QvZyArd3Eg
dGVzdDxicj4KPGJyPgpNb2kgYyYjMzk7ZXN0IGNlIHF1ZSBqZSB0cm91dmUgbGUgcGx1cyBsaXNp
YmxlLCBjb3VydCBldCBuYXR1cmVsICE8YnI+Cjxicj4KJmd0OyBKb3lldXggbm/Dq2whPC9ibG9j
a3F1b3RlPjxkaXY+PGJyPkplIHByZWZlcmUgdG91am91cnMgdGFpbCBldCBkaWZmPGJyPmMmIzM5
O2VzdCBjZSBxdWkgbWUgc2VtYmxlIGV0cmUgbGUgcGx1cyBsaXNpYmxlPGJyPjxicj48L2Rpdj48
L2Rpdj48YnI+Cg= ------=_Part_21064_12826689.1230123648969--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Arnaud Delobelle
On 24 Dec 2008, at 12:29, François Boisson wrote:

head -n-25 fichier && echo lemotdelafin



OK mais je soupçonne que head -n{nombre négatif} soit spécifique à GNU
head donc pas très portable.

--
Arnaud

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
njko
Salut à tou-te-s

Bonne idée vim et quoi qu'il en soit merci pour vos réponses, je vais
essayer ça sans tarder...

(En fait j'avais fait ça avec sed y'a qqes années mais ayant pas trop
touché de boites à boutons depuis un bon bout de temps, j'ai pas été foutu
de me rappeler bien comment)

Merci à tous et bonne année!

++


njko


On Wed, 24 Dec 2008 10:39:45 +0000, Arnaud Delobelle
Personne n'a mentionné awk (pas testé):

awk '{r[i++%25]=$0;if(i>%)print r[i%25]}END{print"Le mot de la fin"}'

C'est plus long que sed mais au moins c'est lisible...
C'est moins long que perl *et* c'est lisible :)



Et pourquoi pas vim tant qu'on y est :D

vim +$-25,$s/_.*/nouveaumot/g +wq test

Moi c'est ce que je trouve le plus lisible, court et naturel !

Joyeux noël!



Oui Joyeux Noël à tous, et bonne ann.. ah non, on n'a pas encore le droit
;)

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact







--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
1 2 3