Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/11/2017, à 16:54

spectre128

sed

bonjour,

je cherche a supprimer avec sed sur toutes les lignes d'un fichier
du debut de ligne jusqu'au 1er "point" rencontré, je sais pas du tout comment faire

exemple:

totobill.azertyupio -> azertyupio
a.bbbbb -> bbbbb

du genre
sed 's/^         (je sais pas)        //'       

quelqu'un peut il m'aider ?

Merci d'avance.

cordialement.

Hors ligne

#2 Le 09/11/2017, à 17:24

mikael8349

Re : sed

Bonjour,

J'ai une solution pour supprimer tout ce qui va jusqu'au dernier point rencontré (mais pas le premier sad)

Voici un exemple de fichier à modifier :

cat test.txt 
zeazr.slkfjls
s.sklfjsfkdl.ldskf
.ldksjfkldf

Voici un exemple en live (le fichier n'est pas modifié) :

sed "s/^.*\.//g" test.txt 
slkfjls
ldskf
ldksjfkldf

Voici un exemple (le fichier est modifié) :

sed -i "s/^.*\.//g" test.txt
# ce qui donne
cat test.txt 
slkfjls
ldskf
ldksjfkldf

Pour la comprehension de la commande sed "s/^.*\.//g" :

  • s : substitution de string

  • ^.*\. : string qui match la regex ^.*\., c'est a dire du début du fichier (^),n'importe quel caractères répétés un nombre de fois indéterminé (.*), jusqu'au dernier point \.

  • //g : la précedente string est remplacé par rien (suppression donc), et on applique ça a toute les lignes (g)

Hors ligne

#3 Le 09/11/2017, à 17:29

mikael8349

Re : sed

C'est bon j'ai trouvé, il faut remplacer .* par [^.]* (cad. tout sauf le point) :

sed "s/^[^.]*\.//" test.txt 
slkfjls
sklfjsfkdl.ldskf
ldksjfkldf

Dernière modification par mikael8349 (Le 09/11/2017, à 17:29)

Hors ligne

#4 Le 09/11/2017, à 19:05

pingouinux

Re : sed

Bonjour,
Autre méthode :

cut -d. -f2- test.txt

Hors ligne

#5 Le 15/11/2017, à 12:11

spectre128

Re : sed

Bonjour à tous

merci de vos reponses, je pars sur la solution de mikael8349

autrement , pas mal ton site mikael8349, j'ai decouvert le while IFS= .......

Bonne journée.

cordialement.

Hors ligne

#6 Le 15/11/2017, à 13:43

mikael8349

Re : sed

Merci !

Hors ligne