Remplacement avec sed
Résolu/Fermé
CYG
-
3 mars 2008 à 17:31
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 4 mars 2008 à 14:31
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 4 mars 2008 à 14:31
A voir également:
- Remplacez le mot sed par le mot mais dans tout le texte. combien de caractères contient le document suite à cette modification (en incluant les espaces) ?
- Remplacez le mot eget par le mot désire dans tout le texte. combien de caractères contient le document suite à cette modification (en incluant les espaces) ? - Guide
- Piratage facebook changer mot de passe - Guide
- Le fichier à télécharger est la nouvelle note de service de votre entreprise. importez ce fichier dans le bon dossier sur l'espace pix cloud. donnez à ce fichier les mêmes droits d'accès que les autres notes de service. ✓ - Forum Windows
- Comptage des caractères dans Word ✓ - Forum Word
- Si la cellule contient le mot alors ✓ - Forum Excel
4 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 894
3 mars 2008 à 17:47
3 mars 2008 à 17:47
Salut,
Ta commande déjà elle veut rien dire ;-\
Ensuite tu veux faire quoi avec "sed" ? (dans ton exemple tu veux remplacer "Process M" par "Process M")
Les 2 tabulations elles sont dans la partie gauche ou droite de "sed" ?
PS. Sers-toi des balises "< code >" et "</ code >" (sans les espaces après les chevrons ouvrants et avant les chevrons fermants) pour mettre du texte en forme dans le forum :
Ta commande déjà elle veut rien dire ;-\
Ensuite tu veux faire quoi avec "sed" ? (dans ton exemple tu veux remplacer "Process M" par "Process M")
Les 2 tabulations elles sont dans la partie gauche ou droite de "sed" ?
PS. Sers-toi des balises "< code >" et "</ code >" (sans les espaces après les chevrons ouvrants et avant les chevrons fermants) pour mettre du texte en forme dans le forum :
$ echo -e "A\t\tB" A B $ echo -e "A\tB" A B;-))
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 894
3 mars 2008 à 18:44
3 mars 2008 à 18:44
Déjà en règle générale, on teste jamais avec le switch "-i" !!! Tu mets rien et comme ça au moins tu vois le résultat à l'écran, ou alors tu mets "-i.BAK" et ça te crée un fichier de sauvegarde...
Peux-tu mettre un fichier "doris1.in" sur "cjoint" s'il te plaît, histoire qu'on ne fasse pas d'autre boulette et qu'on soit sur de la syntaxe à employer (au cas ou il y aurait des caractères qui t'auraient échapper).
Peux-tu mettre un fichier "doris1.in" sur "cjoint" s'il te plaît, histoire qu'on ne fasse pas d'autre boulette et qu'on soit sur de la syntaxe à employer (au cas ou il y aurait des caractères qui t'auraient échapper).
echo -e "PROCESS[\t][\t]M" | sed 's/PROCESS\[\t\]\[\t\]M/c PROCESS\t\tM/' c PROCESS M;-))
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 894
3 mars 2008 à 19:19
3 mars 2008 à 19:19
Voilà la première commande à appliquer pour retrouver tes tabulations sans les crochets (enlève le "-n" et le "p" final si le résultat est bon et remplace le par "-i" ou "-i.bak") :
sed -n 's/PROCESS\[\t\]\[\t\]M/PROCESS\t\tM/p' doris1.inet la seconde pour prendre en compte la ligne oubliée (enfin si toutefois c'est vraiment un oubli, vu qu'il y a des espaces vides avant les 2 tabulations) au dessus de 2 autres (idem pour celle-là pour les "-n" et "p"):
sed -n 's/PROCESS[ ]*\t\tM/ c &/p' doris1.in;-))
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 894
4 mars 2008 à 14:31
4 mars 2008 à 14:31
De rien ;-))
3 mars 2008 à 18:32
la commande est"<find . -type f -name "doris1.in" -exec sed -i 's/PROCESS[\t][\t]M/c PROCESS[\t][\t]M/' {} \;>"
en plus de ça elle a appliquée la modification sur tout mes fichier doris1.in qui appartient à d autres sous répertoires; je voulais juste testé la commande sur un fichier, mais elle s est appliquée sur tout les fichiers