J'ai un fichier texte géant (environ 1,5 gigaoctet) contenant des données xml. Tout le texte dans le fichier est sur une seule ligne, et tenter de l'ouvrir dans n'importe quel éditeur de texte (même ceux mentionnés dans ce fil: Text editor to open big (giant, huge, large) text files) échoue horriblement ou est totalement inutilisable en raison de l'éditeur de texte suspendu en essayant de faire défiler.Utilisation de sed pour introduire une nouvelle ligne après chaque> dans un fichier texte d'une ligne d'un gigaoctet +1 gigaoctet
J'espérais d'introduire les nouvelles lignes dans le fichier en utilisant la commande sed suivante
sed 's/>/>\n/g' data.xml > data_with_newlines.xml
Malheureusement, cela a causé sed de me donner une erreur de segmentation. D'après ce que je comprends, sed lit le fichier ligne par ligne ce qui dans ce cas signifierait qu'il essaye de lire le fichier entier de 1,5 gig sur une ligne ce qui expliquerait certainement le segfault. Cependant, le problème demeure. Comment puis-je introduire des nouvelles lignes après chaque> dans le fichier XML? Dois-je recourir à un petit programme pour faire cela en lisant le fichier caractère par caractère?
Vous pourriez avoir plus de chance avec tr. –
tr ressemble à un outil utile, je ne savais pas à ce sujet avant, merci de m'en avoir parlé! – wasatz
+1; question intéressante – sixtyfootersdude