je cherche à afficher un intervalle de champs avec awk; sans avoir à préciser $1,,,,,
merci
je cherche à afficher un intervalle de champs avec awk; sans avoir à préciser $1,,,,,
merci
Peut être essayer de passer par des index: champ1, champ2, champ3 par exemple:
Ce code afficher le champ 1 et 3
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo "AA BB CC " |gawk "{i=1;j=3; print $i $j}"
A toi de faire une fonction ou tu passe un indice de départ et un indice de fin et tu boucle sur l'intervalle
Ce code devrait fonctionner.
Code : Sélectionner tout - Visualiser dans une fenêtre à part awk -v min=2 -v max=5 '{for (i=min; i<=max; i++) {printf "%s%c"$i, OFS} print ""}' fichier
Celui ci fonctionne mieux:
Code : Sélectionner tout - Visualiser dans une fenêtre à part awk -v min=2 -v max=5 '{for (i=min; i<=max; i++) {printf "%s%c", $i, OFS} print ""}' fichier![]()
Ouarf... une virgule en plus ou en moins... c'est l'intention qui compte! Ah non? Ah ben d'accord... Alors vous me rejouterez une virgule pour la douze!
Merci bien noooooooooooooooop
Merci pour vos réponses...(avec du recul, c'était evident...)
si je peux rajouter une autre commande qui fait la même chose:
cut -d(séparateur) -f(intervalle de champs)
elle m'a servit qd j'avais des problèmes avec awk
Partager