Bonjour, j'ai écrit ce code :
Mais la sélection se fait sur toute la ligne 5 et moi je veux seulement la cellule. Quel est le problème?
Code : Sélectionner tout - Visualiser dans une fenêtre à part var=5; awk '{ if (NR==4) print $($var)}' Feb.xls








Bonjour, j'ai écrit ce code :
Mais la sélection se fait sur toute la ligne 5 et moi je veux seulement la cellule. Quel est le problème?
Code : Sélectionner tout - Visualiser dans une fenêtre à part var=5; awk '{ if (NR==4) print $($var)}' Feb.xls
Salut,
Code : Sélectionner tout - Visualiser dans une fenêtre à part var=5; awk '{ if (NR==4) print { '"$var"' }}' Feb.xls
non, utilisez l'option -v
Code : Sélectionner tout - Visualiser dans une fenêtre à part var=5; awk -vfield="$var" '{ if (NR==4){ print $field }}' Feb.xls
Salut,
Les deux peuvent être utilisés
Par contre pour ta syntaxe sans le "$" à "field" ça le fait mieux, non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part var=5; awk -vfield="$var" '{ if (NR==4){ print field }}'
pas s'il s'agit d'afficher le contenu du cinquième champ !
Code : Sélectionner tout - Visualiser dans une fenêtre à part Par contre pour ta syntaxe sans le "$" à "field" ça le fait mieux, non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 awk -vfield=5 '{print $field}' <<<"abc def ghi klm nop qrs tuv wxyz" nop
Sous cette forme oui, mais pas dans ta syntaxe précédente
Au cas ou...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5$ var=5; awk -vfield="$var" '{ if (NR==6){ print $field }}' foo.sh $ var=5; awk -vfield="$var" '{ if (NR==6){ print field }}' foo.sh 5 $
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $ bash --version GNU bash, version 4.0.33(2)-release (i586-mandriva-linux-gnu) $ awk --version GNU Awk 3.1.7
Partager