Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/12/2007, à 12:35

|-Corpse-|

[BASH-RESOLU] Utilisation d'une variable dans awk

Salut,

voici le souci :

#!/bin/bash

N_A=48
N_O=132

for x in test.out
do
        #Saving centers of masses

        CM=`cat $x | grep -n "\-  CENTER" | cut -d: -f1`
        let $[ START = $CM + 3 ]
        let $[ END = $CM + 2 + $N_A ]
        sed -n "$START","$END"p $x |  awk '{ print $2 "     " $7 "     " $8 "     " $9}'  > center_mass

        #Saving for HOMO
        #---------------

        #Getting the lines
        let $[ REF = $N_O / 2 ]
        P_H=`cat $x | grep -n M.O. | grep " $REF " | cut -d: -f1`
        let $[ START = $P_H + 2 ]
        let $[ END = $P_H + 1 + $N_O ]

        #Getting the column
        let $[ COLUMN = ($REF % 10) + 3 ]
        echo $COLUMN
        sed -n "$START","$END"p $x |  awk '{ print $2"  "$4"  ""$COLUMN" }'  > file


done

Lorsque j'essaie d'intégrer la variable $COLUMN dans awk, il me recopie toutes les lignes et pas uniquement la colonne $COLUMN. J'ai tenté avec guillemets, sans guillemets, rien ne marche.
echo $COLUMN donne la bonne valeur.

Merci d'avance.

Dernière modification par |-Corpse-| (Le 14/12/2007, à 13:41)

Hors ligne

#2 Le 14/12/2007, à 12:42

freebird

Re : [BASH-RESOLU] Utilisation d'une variable dans awk

remplace

awk '{ print $2"  "$4"  ""$COLUMN" }'

par

awk -v "COLUMN=$COLUMN" '{ print $2"  "$4"  "$COLUMN }'

Dernière modification par freebird (Le 14/12/2007, à 12:43)

Hors ligne

#3 Le 14/12/2007, à 13:40

|-Corpse-|

Re : [BASH-RESOLU] Utilisation d'une variable dans awk

merci, ca marche

Hors ligne