Bonjour,

Voici le format de mon fichier :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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.

par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
$ls
1aine 3bb 2ff
$cat 1aine
1.1 2
3 4
5 64
3 9
Voici mon premier code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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"
Mais j'obtiens ceci en erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ne suis pas un champion en shell, c'est toujours pour moi un peu obscure.
Je vous en remercie
Votre plus grand admirateur