-
awk et rdb un exemple de programme
./select_star_ref2rdb.awk final.rdb > clean_final.rdb
#!/bin/sh
gawk '
BEGIN{ #initialisation de variables
FS="\t" #field separator
np=0 #compteur
fprint1=0 #test la signature astrometrique
fprint2=0 #test la presence ou non de calibrateur
}
NR<=2 {print $0} #affiche les 2 premieres ligne du fichier rdb
NR==3 {objectp=$1} #initialisation
NR>=3{ #dans rdb on travaille a partir de la 3eme ligne
object=$1 #object est definit comme etant le champs 1 du fichier rdb
if (object==objectp){
np=np+1
line[np]=$0 #sauvegarde la ligne lu
astrom=$17 #signature astrometrique = champ 17
calib=$2 #calibrateur ou cible : champ 2
if (astrom>10) {fprint1=1} #signature astrometrique > a 10 micro arcsec, on garde
if (calib!=""){fprint2=1} #si calib l'etoie a une reference, on la garde
}
if (object!=objectp) { #lorsque l'objet cahnge de nom, si les tests 1 et 2 sont
#satisfait, on imprime la ligne
if ( fprint1==1 && fprint2==1){
{ for (i=1; i<=np; i=i+1) print line[i] }
}
fprint1=0
fprint2=0
np=1
line[np]=$0
astrom=$17
calib=$2
if (astrom>10) {fprint1=1}
if (calib!=""){fprint2=1}
objectp=object
}
}' $1