bonjour, je cherche à utiliser une commande sed pour supprimer tout les espaces dans un fichier.
j'ai un script shell qui recupere le nom des datafile et les filesystem de ma base oracle mais par défaut ils sont écris sur 2 lignes.
merci
bonjour, je cherche à utiliser une commande sed pour supprimer tout les espaces dans un fichier.
j'ai un script shell qui recupere le nom des datafile et les filesystem de ma base oracle mais par défaut ils sont écris sur 2 lignes.
merci
Salut,
Si les informations sont écrites sur deux lignes -> il s'agit d'un saut de ligne et non d'un espace, non?
en fait j'ai plus qu'une ligne car dans mon script j'ai mis la propriété set line 600. du coup j'ai une multitude d'espace. exemple:
mon_fichier.dbf ************************************************************************************************** nom_tablespace
ou les * sont des espaces.
j'espere que c'est clair
Ok,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sed -e s/ //g ton_fichier > fichier_sans_espace
merci, ca marche très bien
peut-tu m'expliquer un peu la commande?
ok on lui dit de rechercher un espace
Code : Sélectionner tout - Visualiser dans une fenêtre à part sed -e s/
et c'est pour effacer le caractère espace la?
Code : Sélectionner tout - Visualiser dans une fenêtre à part //g
en tout cas merci
Re,
s/ // -> On remplace un espace par rien. (s = substitute)
g -> on fait le remplacement pour chaque espace trouvé dans le fichier.
ok merci, une dernière chose: maintenant mes informations sont collés vu que tout les espaces sont supprimés.
mon_fichier.dbfNOM_TABLESPACE
si je veux mettre un espace avant le nom du tablespace il faut que je recherche le caractere '.dbf' et que j'insere un espace?
Re,
Tu peux utiliser la commande tr pour remplacer tous les espaces par un seul.
l'option -s (squeeze) te permet de "compacter" tous les espaces en un seul.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 tr -s ' ' ' ' < ton_fichier > fichier_resultat
Partager