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).
Pschitt
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
Jak
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.
Jar Jar
La solution sed me paraît la plus appropriée.
Pschitt
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
Jak
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.
Jar Jar
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).
Jak
'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]
impulse
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 :)
Pschitt
Sous linux,
Connaissez vous une fonction standard pour remplacer une occurrence par une autre dans un fichier texte ?