[linux] Fonctions spéciales

Fonctions spéciales [linux] - Linux et OS Alternatifs

Marsh Posté le 28-03-2002 à 15:48:38    

Sous linux,
Connaissez vous une fonction standard pour remplacer une occurrence par une autre dans un fichier texte ?

Reply

Marsh Posté le 28-03-2002 à 15:48:38   

Reply

Marsh Posté le 28-03-2002 à 15:55:42    

C'est clair que ça existe mais je la connais pas... ;)
Si Perl est installé tu peux utiliser les regexp pour faire ça, c'est tres facile et tres puissant.
 
hihi :)

Reply

Marsh Posté le 28-03-2002 à 16:27:45    

'faut utiliser sed.
Comme on dit, sed, c'est dien :D
 
Encore que là, c'est pour faire ça sur une ensemble de fichiers.
Parce que sinon, pour un seul fichier, il suffit de l'éditer avec VI, et, en mode commande, tu tapes ça :
 
:%s/chaine\ à\ changer/chaîne\ de\ remplacement/g
 
'faut protéger les espaces et autres caractères spéciaux avec des "\"
 
Pour l'expression sed qui va bien pour un ensemble de fichiers, je l'ai pas sous la main, j'utilise pas ça souvent.

 

[jfdsdjhfuetppo]--Message édité par Jak--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 28-03-2002 à 16:51:53    

sed "s/truc/machin/g" fichier > fichier2
 
Ou dans emacs, tu fais M-% truc <entrée> machin <entrée> ! (le point d'exclamation, faut le taper, hein).
Ou dans nano, Control-\ (nano is your M4st3r).


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
Reply

Marsh Posté le 28-03-2002 à 17:26:24    

Jar Jar a écrit a écrit :

sed "s/truc/machin/g" fichier > fichier2


Tiens, c'est aussi simple que ça ? Il me semblait qu'il fallait rajouter 2 ou 3 options pour que ça marche.

Reply

Marsh Posté le 28-03-2002 à 23:10:46    

Vos réponses sont valables pour 1 fichier d'environ 33Mo et de plus de 285 000 lignes ?
(C'est un fichier de stat. annuelles)
 
J'ai pas de nunux sous la main pour tester, j'essayerais demain

Reply

Marsh Posté le 28-03-2002 à 23:11:49    

La solution sed me paraît la plus appropriée.


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
Reply

Marsh Posté le 29-03-2002 à 09:11:06    

Pschitt a écrit a écrit :

Vos réponses sont valables pour 1 fichier d'environ 33Mo et de plus de 285 000 lignes ?
(C'est un fichier de stat. annuelles)
 
J'ai pas de nunux sous la main pour tester, j'essayerais demain  



Ouais, mais il est vrai que le VI va ramer un peu au chargement (encore que, c'est que 33 Mo, pour un fichier de 1,5 Go, j'aurais formellement déconseillé VI, mais là :) ). Mais sinon, le mieux, comme le dit Jar Jar, c'est sed dans ce cas.

Reply

Marsh Posté le 29-03-2002 à 11:56:29    

Je vais utiliser finalement vi car il est + souple pour les autres petites modifications que j'ai à faire.
vi m'ouvre le fichier sans broncher et est même trés rapide pour trouver une occurrence et la modifier.
 
Linux, je t'aime
 
Merci à tous pour vos réponses

Reply

Marsh Posté le 29-03-2002 à 13:31:04    

Je précise que nano fait la même chose pour des fichiers de cet ordre de grandeur (vi su><, emacs su><, nano... su>< aussi mais un peu moins).


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed