[Shell] enlever les 11 premier caractères
Résolu/Fermé
JOBiJOBa2
Messages postés
91
Date d'inscription
mardi 13 mai 2008
Statut
Membre
Dernière intervention
23 avril 2009
-
22 mai 2008 à 10:33
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 3 juin 2009 à 13:09
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 3 juin 2009 à 13:09
A voir également:
- Bash supprimer premier caractère d'une chaine
- Caractère ascii - Guide
- Supprimer une page word - Guide
- Caractere speciaux - Guide
- Supprimer compte instagram - Guide
- Caractère spéciaux - Guide
5 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
22 mai 2008 à 10:48
22 mai 2008 à 10:48
Salut,
$ var="123456789101112" $ echo ${var:11} 1112;-))
goulamass
Messages postés
1426
Date d'inscription
lundi 23 octobre 2006
Statut
Membre
Dernière intervention
11 janvier 2010
177
22 mai 2008 à 10:36
22 mai 2008 à 10:36
Bonjour,
En comptant les 11 premiers caractères.
Je me souviens plus trop des commandes shell.
Mais l'idée est :
Récupère line
For (0 , nb caractère , ++)
tant que < 11 je fais rien
dès que je dépasse 11 je recrée un nouvelle line caractère par caractère
fin for
Ecriture de al new line
En comptant les 11 premiers caractères.
Je me souviens plus trop des commandes shell.
Mais l'idée est :
Récupère line
For (0 , nb caractère , ++)
tant que < 11 je fais rien
dès que je dépasse 11 je recrée un nouvelle line caractère par caractère
fin for
Ecriture de al new line
eZula
Messages postés
3391
Date d'inscription
samedi 26 avril 2008
Statut
Contributeur
Dernière intervention
8 mai 2021
392
22 mai 2008 à 16:48
22 mai 2008 à 16:48
Merci, je pensais néammoins qu'il y aurait une commande plus directe
eZula
Messages postés
3391
Date d'inscription
samedi 26 avril 2008
Statut
Contributeur
Dernière intervention
8 mai 2021
392
22 mai 2008 à 12:59
22 mai 2008 à 12:59
Salut,
juste de passage et à l'attention de jipicy, pour enlever les 11 derniers caractères, quelle serait la commande ? j'ai tenté echo ${var:0,-11} marche pô
et par la même occasion, comment enlever simultanément les 3 premiers caractères et les 3 derniers ?
echo $var | sed -e 's/.\{11\}$//' marche mais j'aimerais connaitre la solution dans l'esprit de la première commande
PS : en bash
Merci et désolé pour l'incruste
juste de passage et à l'attention de jipicy, pour enlever les 11 derniers caractères, quelle serait la commande ? j'ai tenté echo ${var:0,-11} marche pô
et par la même occasion, comment enlever simultanément les 3 premiers caractères et les 3 derniers ?
echo $var | sed -e 's/.\{11\}$//' marche mais j'aimerais connaitre la solution dans l'esprit de la première commande
PS : en bash
Merci et désolé pour l'incruste
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
22 mai 2008 à 13:56
22 mai 2008 à 13:56
Enlever les 11 derniers :
echo ${var:0:$((${#var}-11))}enlever simultanément les 3 premiers caractères et les 3 derniers :
echo ${var:3:$((${#var}-3))};-))
michelf
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
3 juin 2009 à 11:32
3 juin 2009 à 11:32
pour enlever les 3 permiers et 3 derniers caracteres (avec sh), il faut plutot :
${chaine:3:$((${#chaine}-3-3))}
il me semble
${chaine:3:$((${#chaine}-3-3))}
il me semble
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
>
michelf
3 juin 2009 à 11:34
3 juin 2009 à 11:34
Exact, merci pour la correction ;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
3 juin 2009 à 12:15
3 juin 2009 à 12:15
Salut,
je pensais néammoins qu'il y aurait une commande plus directe
Si tu pense à sed
Mais bon, ce n'est pas très joli
je pensais néammoins qu'il y aurait une commande plus directe
Si tu pense à sed
echo $var | sed 's/^.\{3\}\(.*\).\{3\}$/\1/'
Mais bon, ce n'est pas très joli
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
3 juin 2009 à 12:20
3 juin 2009 à 12:20
Il y a aussi :
[tmpfs]$ var="123456789" [tmpfs]$ expr "$var" : "...\(.*\)..." 456;-))
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
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
3 juin 2009 à 12:33
3 juin 2009 à 12:33
Re,
Sûrement c'est plus joli.
Pour s'amuser (je n'ai pas moyens de tester ;-))
Sûrement c'est plus joli.
Pour s'amuser (je n'ai pas moyens de tester ;-))
echo $var | cut -d'' -f4- | rev | cut -d'' -f4- | rev
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
>
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 juin 2009 à 13:09
3 juin 2009 à 13:09
Marche pô ;-((
cut: Le délimiteur doit être un caractère simple.
Par contre comme ça ça marche :
cut: Le délimiteur doit être un caractère simple.
Par contre comme ça ça marche :
echo $var | cut -b 4- | rev | cut -b 4- | rev;-))
22 mai 2008 à 11:07
Je ne vois pas ce que cela peut être.
^^
22 mai 2008 à 12:29
N'oublie pas de préciser ton shell à chaque fois... ;-))
22 mai 2008 à 14:10
22 mai 2008 à 14:11