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 : 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
par exemple :
Voici mon premier code :
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
Mais j'obtiens ceci en erreur :
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"
Je ne suis pas un champion en shell, c'est toujours pour moi un peu obscure.
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 vous en remercie
Votre plus grand admirateur
Partager