logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 04-02-2015 17:22:08

Orsam999
Membre
Distrib. : Debian 10 (Buster)
Noyau : Linux 4.19.0-5-amd64
Inscription : 16-01-2015

[Résolu] Fonction Cut comment compter ??

Bonjour à tous,

Je suis tombé sur une fonction très utile, qui est en faite un espèce d'explode (en PHP) ou Split (en Javascript)

La voici :


IN="bla@some.com;john@home.com;toto@cmon.fr"
mavar=`echo $IN | cut -d \; -f 1`  # Le 1 correspond au premier param
mavar2=`echo $IN | cut -d \; -f 2` # Le 2 correspond au deuxième param
mavar3=`echo $IN | cut -d \; -f 3` # Le 3 correspond au troisième param
echo $mavar #Affichage de la première valeur, ici bla@some.com
 



Je suis d'accord avec cette curieuse façon de faire, mais comment savoir combien d'adresse mail sont présentent dans la chaine ?? hmm

Merci d'avance pour votre aide.

Orsam

Dernière modification par Orsam999 (04-02-2015 17:41:35)


Celui qui ne progresse pas chaque jour, recule chaque jour.
Confucius

Hors ligne

#2 04-02-2015 17:41:16

Orsam999
Membre
Distrib. : Debian 10 (Buster)
Noyau : Linux 4.19.0-5-amd64
Inscription : 16-01-2015

Re : [Résolu] Fonction Cut comment compter ??

Re-bonjour,


Voici une auto réponse (encore une big_smile)


J'ai finalement opté pour la commande awk :

awk -F":" '{print $1}' /etc/passwd



pour le deuxième param :

awk -F":" '{print $2}' /etc/passwd



etc...

Pour le nombre de param :

awk -F":" '{print NF}' /etc/passwd
 



Pour les chaines de caractères :

echo "abc:def" | awk -F':' '{print NF}'




Source du code :

http://www.commandeslinux.fr/awk/

Merci.

Orsam

Dernière modification par Orsam999 (04-02-2015 17:46:40)


Celui qui ne progresse pas chaque jour, recule chaque jour.
Confucius

Hors ligne

#3 04-02-2015 17:59:47

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

Re : [Résolu] Fonction Cut comment compter ??

bonjour
Utiliser awk est une excellente solution pour ce genre de problème. Je te propose une solution en pure bash ce qui est
assez amusant wink :


#! /bin/bash

IN="bla@some.com;john@home.com;toto@cmon.fr"
IFS=';'
declare -a EMAILS
EMAILS=(${IN})
echo "Nombre d'emails : ${#EMAILS[@]}"
echo ${EMAILS[@]}
 

Hors ligne

#4 05-02-2015 14:56:26

Orsam999
Membre
Distrib. : Debian 10 (Buster)
Noyau : Linux 4.19.0-5-amd64
Inscription : 16-01-2015

Re : [Résolu] Fonction Cut comment compter ??

Bonjour Enicar,

Merci, ta solution fonctionne très bien aussi, mais le côté "amusant" est à quelle ligne ??? big_smile


Merci

Orsam !!

Celui qui ne progresse pas chaque jour, recule chaque jour.
Confucius

Hors ligne

#5 05-02-2015 15:01:00

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

Re : [Résolu] Fonction Cut comment compter ??

Salut,
On s'amuse comme on peut, hein wink

Hors ligne

Pied de page des forums