Supprimer mot entre crochets en Shell
Résolu/Fermé
sebcah
-
5 mai 2008 à 10:41
sebcah Messages postés 2 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 12 mai 2008 - 12 mai 2008 à 11:25
sebcah Messages postés 2 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 12 mai 2008 - 12 mai 2008 à 11:25
A voir également:
- Supprimer mot entre crochets en Shell
- Supprimer une page word - Guide
- Supprimer mot de passe windows 10 - Guide
- Supprimer compte instagram - Guide
- Voir mot de passe wifi android - Guide
- Mot de passe administrateur - Guide
3 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 897
5 mai 2008 à 10:48
5 mai 2008 à 10:48
Salut,
[tmpfs]$ echo ${line} paris [nord] [sud];091 [tmpfs]$ echo ${line} | sed 's/ \^*\]//' paris [sud];091 [tmpfs]$ echo ${line} | sed 's/ \^*\]//2' paris [nord];091 [tmpfs]$;-))
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
5 mai 2008 à 10:54
5 mai 2008 à 10:54
Salut,
1.
1.
root@debian:~# line='paris [nord] [sud];091' root@debian:~# echo $line paris [nord] [sud];091 root@debian:~# line_sud=$(echo $line | sed 's/ \[nord\]//') root@debian:~# echo $line_sud paris [sud];091 root@debian:~# line_nord=$(echo $line | sed 's/ \[sud\]//') root@debian:~# echo $line_nord paris [nord];091 root@debian:~#2.
root@debian:~# line='paris [nord] [sud];091' root@debian:~# line_sud=${line/\[nord\]/} root@debian:~# line_nord=${line/\[sud\]/} root@debian:~# echo $line paris [nord] [sud];091 root@debian:~# echo $line_sud paris [sud];091 root@debian:~# echo $line_nord paris [nord] ;091 root@debian:~#
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
>
sebcah
5 mai 2008 à 11:20
5 mai 2008 à 11:20
si je ne connais pas les mots entre crochets :D ?
jipicy a anticipé ;-)
http://www.commentcamarche.net/forum/affich 6258687 supprimer mot entre crochets en shell#1
jipicy a anticipé ;-)
http://www.commentcamarche.net/forum/affich 6258687 supprimer mot entre crochets en shell#1
sebcah
Messages postés
2
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
12 mai 2008
12 mai 2008 à 11:25
12 mai 2008 à 11:25
Merci ;)
5 mai 2008 à 11:20
Mais je n'arrive pas à faire la manip', ça ne fonctionne pas :S
Seb
5 mai 2008 à 11:24
La mise en forme n'est pas sortie comme il se devait, il manque des crochets ;-(
Donc essaie comme suit (Attention : il ne faut pas mettre d'espace entre les deux premiers crochets !!!) : ;-))
5 mai 2008 à 11:36
Ca marche bien avec cet exemple, mais comment faire la même chose avec :
[savigny] sur [orge];091
et
[paris] [magenta] république;066
??
Merci encore beaucoup <:)
Seb
NB: je cherche à avoir une même ligne de commande pour les trois cas de figure :P
5 mai 2008 à 11:41
Il suffit de changer l'espace de place : ;-))
5 mai 2008 à 11:56
Ca n'a pas marché cette fois-ci, en revanche j'ai trouvé en bricolant le code /P
pour le premier []
echo $line | sed 's/\^*\]//1'
et pour le second []
echo $line | sed 's/\^*\]//2'
Et voilà :)
Seb
PS :
Si ce n'est pas trop demandé peux tu m'expliquer le fonctionnement de cette ligne de code (je débute en shell)
je connais juste en sed le moyen de changer un mot avec : sed 's/toto/tata/g' et c'est tout.
Alors : ^ et *\] je vois pas tu tout à quoi ça sert.... et pourquoi fallait-il un espace :S ?
Merci :)
Seb