#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