Fonctions spéciales [linux] - Linux et OS Alternatifs
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
Marsh Posté le 28-03-2002 à 16:27:45
'faut utiliser sed.
Comme on dit, sed, c'est dien
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]
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).
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.
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
Marsh Posté le 28-03-2002 à 23:11:49
La solution sed me paraît la plus appropriée.
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.
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
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).
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 ?