J'ai un gros fichier texte qui contient des lignes du type :
2 ALIAS [texte libre][caractère de fin de ligne 0A]
que je voudrais enlever je veux dire ici supprimer la ligne et ne pas la 
remplacer par une ligne qui contiendrait des lignes vides.

Je pensais m'en tirer avec la fonctionnalité expression rationnelle du menu 
"Rechercher" de "Kwrite" mais c'est buggé et incomplet bien que prometteur, 
pour inclure des caractère de contrôle type fin de ligne [0A]. Les autres 
logiciels "gEdit" et même "OpenOffice" ne proposent rien d'équivalent à 
"KWrite". Dois-je me rabattre sur un script subtil avec grep ou autre et si 
oui comment faire ?

Voulant jouer aux apprentis sorcier sur une copie de mon fichier j'ai tenté 
ceci :
#!/bin/sh
# Test de awk
awk '/^2 ALIAS +(.*)/' /path/mon_fichier | ( \
        while read line; do
        # affichage des lignes lues
                echo $line
        # traitement de la ligne
                line=""
                echo $line
        # écriture de la ligne dans le fichier
        done
) || exit 0

en m'inspirant d'un script Mandrakien utilisant "awk"
- Je trouve bien toutes mes lignes puisqu'elles sont toutes affichées,
- Mon traitement ici consiste à les remplacer par une ligne vide ce qui ne 
sera de toute façon pas suffisant car je ne veux pas de ligne du tout 
(peut-on y ajouter un petit backspace !)
- Je sais pas comment on écrit dans le fichier

Une petit aide avec explications sera vivement appréciée.

-- 
Daniel Moyne 
(Nulix)-----------------------------------------------------------
Software : Mandrake 9.1            \\|//    kernel "2.4.21-0.13dm"
KDE 3.1.0                         / --- \
                                 (' o-o ')
--------------------------------oOO-(_)-OOo------------------------------------


Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";.

Foire Aux Questions de la liste : http://mdk.mondelinux.org

Répondre à