implementer un nombre d'1 a chaque lignes (sed?)

Le
karoll
Salut.

Je voudrais changer un fichier de plein de lignes qui est actuellement
comme ca:

VALUES ('14', '14', '1',
VALUES ('14', '14', '1',
VALUES ('14', '14', '1',

pour qu'il devienne comme ca:

VALUES ('14', '14', '1',
VALUES ('15', '15', '1'
VALUES ('16', '16', '1'

Bref, implementer de 1 les (actuels) 14 de chaque ligne. (et les lignes
sont longues, il y a des choses a la place des '')
Je pensais faire ca avec sed, mais je sais pas du tout comment et j'arrive
vraiment pas a trouver de la doc qui m'explique ca.

Donc je prend tout ce qui pourrait m'aider, une commande, un script, un
lien vers une page de man qui va bien merci!

(Je sais que ma question est HS et que c'est pas du pur debian, mais je ne
vois ou la poser, et je veux faire ca sur ma debian alors j'me suis dit,
tient demandons aux debianistes.
Si quelqun-e sait et veut bien se donner la peine de repondre ou de me
guider un peu, ca serait tres chouette.)


Bonne soiree a tou-te-s dans tous les cas,

k.


--
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 debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Florent Bayle
Le #9572641
--nextPart1515054.YzISQJHnKK
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Le vendredi 1 juin 2007, a écrit :
Salut.

Je voudrais changer un fichier de plein de lignes qui est actuellement
comme ca:

VALUES ('14', '14', '1', ...
VALUES ('14', '14', '1', ...
VALUES ('14', '14', '1', ...

pour qu'il devienne comme ca:

VALUES ('14', '14', '1', ...
VALUES ('15', '15', '1' ...
VALUES ('16', '16', '1' ...

Bref, implementer de 1 les (actuels) 14 de chaque ligne. (et les lignes
sont longues, il y a des choses a la place des '...')
Je pensais faire ca avec sed, mais je sais pas du tout comment et j'arrive
vraiment pas a trouver de la doc qui m'explique ca.

Donc je prend tout ce qui pourrait m'aider, une commande, un script, un
lien vers une page de man qui va bien... merci!




perl -pe'$iif!$i;s/14/$i/g&&$i++' fichier1 > fichier2

ou

perl -pe'$iif!$i;s/14/$i/&&s/14/$i/&&$i++' fichier1 > fichier2

si les ... peuvent contenir des 14 que tu ne veux pas convertir.

--
Florent

--nextPart1515054.YzISQJHnKK
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQBGYJf/M+Ix3/RCm3gRAv3NAJ9WmLOBMvwyAc+BkBsZc+PWfUnougCfSuP4
Wp3fuvN5zUGygzwivyvAamQ =izcA
-----END PGP SIGNATURE-----

--nextPart1515054.YzISQJHnKK--


--
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
with a subject of "unsubscribe". Trouble? Contact
Jacques L'helgoualc'h
Le #9572631
a écrit, vendredi 1 juin 2007, à 23:05 :
Salut.



bonsoir,

Je voudrais changer un fichier de plein de lignes qui est actuellement
comme ca:
[...]
Bref, implementer de 1 les (actuels) 14 de chaque ligne. (et les lignes
sont longues, il y a des choses a la place des '...')
Je pensais faire ca avec sed, mais je sais pas du tout comment et j'arrive
vraiment pas a trouver de la doc qui m'explique ca.



Non, sed n'est pas vraiment indiqué pour l'arithmétique...

Donc je prend tout ce qui pourrait m'aider, une commande, un script, un
lien vers une page de man qui va bien... merci!



Awk, Perl, ... quelque chose comme ça :

$ echo "'14', '42', '14'
'1', '3', '33',
'14', '22', '114',
'144', '14'
'14','14','42'
" | awk "{gsub("'14'","'" 14 + n++ "'");print}"
'14', '42', '14'
'1', '3', '33',
'16', '22', '114',
'144', '17'
'18','18','42'

--
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
with a subject of "unsubscribe". Trouble? Contact
Franck Joncourt
Le #9572621
--bajzpZikUji1w+G9
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Jun 01, 2007 at 11:05:53PM +0200, wrote:
Salut.

Je voudrais changer un fichier de plein de lignes qui est actuellement
comme ca:

VALUES ('14', '14', '1', ...
VALUES ('14', '14', '1', ...
VALUES ('14', '14', '1', ...

pour qu'il devienne comme ca:

VALUES ('14', '14', '1', ...
VALUES ('15', '15', '1' ...
VALUES ('16', '16', '1' ...

Bref, implementer de 1 les (actuels) 14 de chaque ligne. (et les lignes
sont longues, il y a des choses a la place des '...')
Je pensais faire ca avec sed, mais je sais pas du tout comment et j'arrive
vraiment pas a trouver de la doc qui m'explique ca.

Donc je prend tout ce qui pourrait m'aider, une commande, un script, un
lien vers une page de man qui va bien... merci!

(Je sais que ma question est HS et que c'est pas du pur debian, mais je ne
vois ou la poser, et je veux faire ca sur ma debian alors j'me suis dit,
tient demandons aux debianistes.
Si quelqun-e sait et veut bien se donner la peine de repondre ou de me
guider un peu, ca serait tres chouette.)




A vu de nez, je regarderais vers du perl du cote des fonctions open,
readline et split.

Pour la documentation, google te donneras plus de sources que je ne pourrai s le
faire.

Bonne nuit.

--
Franck Joncourt
http://www.debian.org - http://smhteam.info/wiki/
GPG server : pgpkeys.mit.edu
Fingerprint : C10E D1D0 EF70 0A2A CACF 9A3C C490 534E 75C0 89FE

--bajzpZikUji1w+G9
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGYJuhxJBTTnXAif4RAmtUAJkBQls3BD0a+BLKmbmTSt5aPtT+ZACfbx2Y
QhDAUlLJF364y9O60Laxotk °qQ
-----END PGP SIGNATURE-----

--bajzpZikUji1w+G9--


--
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
with a subject of "unsubscribe". Trouble? Contact
Edi STOJICEVIC
Le #9572591
*
Salut.

Je voudrais changer un fichier de plein de lignes qui est actuellement
comme ca:

VALUES ('14', '14', '1', ...
VALUES ('14', '14', '1', ...
VALUES ('14', '14', '1', ...

pour qu'il devienne comme ca:

VALUES ('14', '14', '1', ...
VALUES ('15', '15', '1' ...
VALUES ('16', '16', '1' ...

Bref, implementer de 1 les (actuels) 14 de chaque ligne. (et les lignes
sont longues, il y a des choses a la place des '...')
Je pensais faire ca avec sed, mais je sais pas du tout comment et j'arrive
vraiment pas a trouver de la doc qui m'explique ca.

Donc je prend tout ce qui pourrait m'aider, une commande, un script, un
lien vers une page de man qui va bien... merci!

(Je sais que ma question est HS et que c'est pas du pur debian, mais je ne
vois ou la poser, et je veux faire ca sur ma debian alors j'me suis dit,
tient demandons aux debianistes.
Si quelqun-e sait et veut bien se donner la peine de repondre ou de me
guider un peu, ca serait tres chouette.)


Bonne soiree a tou-te-s dans tous les cas,

k.



Salut,

Tu as une liste de diffusion sur les shellscript pour ce type de
question :

http://www.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
with a subject of "unsubscribe". Trouble? Contact
Jacques L'helgoualc'h
Le #9572541
Jacques L'helgoualc'h a écrit, samedi 2 juin 2007, à 00:23 :
[...]
Awk, Perl, ... quelque chose comme ça :

$ echo "'14', '42', '14'
'1', '3', '33',
'14', '22', '114',
'144', '14'
'14','14','42'
" | awk "{gsub("'14'","'" 14 + n++ "'");print}"
'14', '42', '14'
'1', '3', '33',
'16', '22', '114',
'144', '17'
'18','18','42'



Pour n'incrémenter que sur les lignes contenant « '14' »,

awk "/'14'/{gsub("'14'","'" 14 + n++ "'")}
{print}"
'14', '42', '14'
'1', '3', '33',
'15', '22', '114',
'144', '16'
'17','17','42'

--
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
with a subject of "unsubscribe". Trouble? Contact
mouss
Le #9572461
wrote:
Salut.

Je voudrais changer un fichier de plein de lignes qui est actuellement
comme ca:

VALUES ('14', '14', '1', ...
VALUES ('14', '14', '1', ...
VALUES ('14', '14', '1', ...

pour qu'il devienne comme ca:

VALUES ('14', '14', '1', ...
VALUES ('15', '15', '1' ...
VALUES ('16', '16', '1' ...

Bref, implementer



incrémenter :)
de 1 les (actuels) 14 de chaque ligne. (et les lignes
sont longues, il y a des choses a la place des '...')
Je pensais faire ca avec sed, mais je sais pas du tout comment et j'arrive
vraiment pas a trouver de la doc qui m'explique ca.




tu peux le faire en SQL, puisque ça a l'air d'en être. sinon, y a
toujours perl et ses potes...





--
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
with a subject of "unsubscribe". Trouble? Contact
Publicité
Poster une réponse
Anonyme