Bonjour,
Voici le format de mon fichier :
et j'aimerais pour chaque lignes transpose en colonne deux par deux les valeurs stocker entre "" dans un fichier dont le nom du fichier correspond par exemple pour la 1er ligne 1aine.Code:
1
2
3 "1.1,2,3,4,5,64,3,9",,,,,1,aine "2,3,4,5.4",,,,,3,bb "3,4.3,5,6,6,2",,,,,2,ff
par exemple :
Voici mon premier code :Code:
1
2
3
4
5
6
7 $ls 1aine 3bb 2ff $cat 1aine 1.1 2 3 4 5 64 3 9
Mais j'obtiens ceci en erreur :Code:
1
2
3
4
5
6
7
8 #!/bin/bash while IFS= read -r line; do echo $line | cut -d'"' -f2 > temp cat temp name=$(cut -d'"' -s -f3 (echo $line) | sed 's/,/ /g' | sed 's/ //g') echo $name awk -F, '{for(i=1;i<=NF;i++)printf "%s%s",$i,(i%2&&i!=NF?OFS:ORS)}' temp > $name done < "$1"
Je ne suis pas un champion en shell, c'est toujours pour moi un peu obscure.Code:
1
2
3 1.1,2,3,4,5,64,3,9 ./code: command substitution: ligne 6: erreur de syntaxe près du symbole inattendu « ( » ./code: command substitution: ligne 6: `cut -d'"' -s -f3 (echo $line) | sed 's/,/ /g' | sed 's/ //g')'
Je vous en remercie
Votre plus grand admirateur