Shell couper une chaine de caracteres
Fermé
nabsterrier
-
14 janv. 2009 à 13:47
xuge Messages postés 15 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 14 janvier 2009 - 14 janv. 2009 à 17:00
xuge Messages postés 15 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 14 janvier 2009 - 14 janv. 2009 à 17:00
A voir également:
- Shell découper chaine caractère
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Comment découper un pdf - Guide
- Caractère spéciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
5 réponses
xuge
Messages postés
15
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
14 janvier 2009
5
14 janv. 2009 à 14:11
14 janv. 2009 à 14:11
Je ne sais pa si ç'est ce que tu veux.
Avec awk tu peux récupérer la première colonne de ton fichier et la coller dans un autre :
awk '{print $1}' toto>titi
$1 peut devenir $2, $3 etc suivant la colonne désirée.
Il suffit ensuite de lire ton fichier et d'attribuer la valeur à ta variable.
C'était bien ça la question?
Avec awk tu peux récupérer la première colonne de ton fichier et la coller dans un autre :
awk '{print $1}' toto>titi
$1 peut devenir $2, $3 etc suivant la colonne désirée.
Il suffit ensuite de lire ton fichier et d'attribuer la valeur à ta variable.
C'était bien ça la question?
xuge
Messages postés
15
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
14 janvier 2009
5
14 janv. 2009 à 15:55
14 janv. 2009 à 15:55
export name=`awk '{print $1}' toto`
for k in $name
do
.......
done
Comme ça "k" balaye toutes les valeurs et il ne suffit plus qu'à coller tout ça dans une variable. et pourquoi pas dans une variable qui a un nom qui évolue (avec un compteur par exemple)...
for k in $name
do
.......
done
Comme ça "k" balaye toutes les valeurs et il ne suffit plus qu'à coller tout ça dans une variable. et pourquoi pas dans une variable qui a un nom qui évolue (avec un compteur par exemple)...
xuge
Messages postés
15
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
14 janvier 2009
5
14 janv. 2009 à 17:00
14 janv. 2009 à 17:00
Le 'export' c'est la façon propre d'attribuer une valeur à une variable: dans ce cas la première colonne du fichier.
Il est possible de le faire sans le export mais dans ce cas la variable ne sera pas accessible pour des sous-shell.
Le $1 signifie pour la commande awk la première colonne.
Donc comme je disais plus haut, si tu met $2, ce sera la deuxième colonne, $3 la troisième , et ainsi de suite.
Ici tu troueras un descriptif des commandes shell :
http://gershwin.ens.fr/vdaniel/Doc-Locale/Outils-Gnu-Linux/Linux_Doc/Unix-BournShell/node17.html
Et ici une aide pour awk et aussi le shell : http://www.shellunix.com/awk.html
Il est possible de le faire sans le export mais dans ce cas la variable ne sera pas accessible pour des sous-shell.
Le $1 signifie pour la commande awk la première colonne.
Donc comme je disais plus haut, si tu met $2, ce sera la deuxième colonne, $3 la troisième , et ainsi de suite.
Ici tu troueras un descriptif des commandes shell :
http://gershwin.ens.fr/vdaniel/Doc-Locale/Outils-Gnu-Linux/Linux_Doc/Unix-BournShell/node17.html
Et ici une aide pour awk et aussi le shell : http://www.shellunix.com/awk.html
Le truc c'est que j'ai un fichier de la forme :
192.168.12.12 BLABLABLABLAB
192.168.12.13 BLABLABLABLA
192.168.12.14 BLABLABLA
ce que je veux faire est de lire chaque ligne de facon a récupérer les adresses ip dans autant de variable qu'il y a de ligne...
Peut-etre avec la commande cut, mais je trouve cela un peu conpliqué pour moi...
Avez-vous une idée ?
192.168.12.12 BLABLABLABLAB
192.168.12.13 BLABLABLABLA
192.168.12.14 BLABLABLA
ce que je veux faire est de lire chaque ligne de facon a récupérer les adresses ip dans autant de variable qu'il y a de ligne...
Peut-etre avec la commande cut, mais je trouve cela un peu conpliqué pour moi...
Avez-vous une idée ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question