Shell script touchy
Résolu/Fermé
chris
-
26 mai 2010 à 09:33
KuKrApOk59 Messages postés 437 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 13 septembre 2013 - 26 mai 2010 à 16:50
KuKrApOk59 Messages postés 437 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 13 septembre 2013 - 26 mai 2010 à 16:50
A voir également:
- Shell script touchy
- Script vidéo youtube - Guide
- Classic shell windows 11 - Télécharger - Personnalisation
- Ghost script - Télécharger - Polices de caractères
- Script bat - Guide
- Microsoft activation script - Accueil - Windows
2 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
26 mai 2010 à 10:09
26 mai 2010 à 10:09
Salut,
;-))
$ ls plop $ cat plop nom_fich;var 1;var 2;var 3 fichier_1;titi;titi et tata;toto $ while IFS=';' read -r fich nom1 nom2 nom3; do touch "${fich}" && echo "Ce fichier contient les données pour ${nom1} ainsi que pour ${nom2} mais aussi ${nom3}." > "${fich}"; done < plop $ ls fichier_1 nom_fich plop $ cat fichier_1 Ce fichier contient les données pour titi ainsi que pour titi et tata mais aussi toto. $ cat nom_fich Ce fichier contient les données pour var 1 ainsi que pour var 2 mais aussi var 3. $
;-))
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
26 mai 2010 à 12:34
26 mai 2010 à 12:34
hello
$ cat a1 nom fich;var 1;var 2;var 3 fichier 1;titi;titi et tata;toto $ $ awk 'BEGIN{OFS=FS=";"};{print $2,$3,$4 > $1}' a1 $ $ head ???* ==> fichier 1 <== titi;titi et tata;toto ==> nom fich <== var 1;var 2;var 3 $
KuKrApOk59
Messages postés
437
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
13 septembre 2013
84
26 mai 2010 à 12:59
26 mai 2010 à 12:59
Je m'incruste, mais pour info,
A quoi sert le 'OFS=FS' ?
FS=";" est pour le délimiteur, OK, mais la premiere partie, je ne saisis pas
Merci :)
A quoi sert le 'OFS=FS' ?
FS=";" est pour le délimiteur, OK, mais la premiere partie, je ne saisis pas
Merci :)
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
26 mai 2010 à 13:07
26 mai 2010 à 13:07
Salut,
C'est pour fixer le séparateur en sortie (OutputFieldSeparator) qui par défaut est un espace.
C'est pour fixer le séparateur en sortie (OutputFieldSeparator) qui par défaut est un espace.
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
26 mai 2010 à 13:08
26 mai 2010 à 13:08
OFS est le délimiteur en sortie. En faisant print $2,$3 la virgule représente OFS, par défaut <espace>, ici ;
NB: -F";" et {FS=";"} sont equivalents
$ echo "aaa;bbb" | awk -F";" '{print $1,$2}' aaa bbb $ $ echo "aaa;bbb" | awk 'BEGIN{FS=OFS=";"};{print $1,$2}' aaa;bbb $
NB: -F";" et {FS=";"} sont equivalents
KuKrApOk59
Messages postés
437
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
13 septembre 2013
84
26 mai 2010 à 16:50
26 mai 2010 à 16:50
Merci pour ces éclaircissements !
26 mai 2010 à 10:13