#!/bin/csh #++++++++++++++++ #.IDENTIFICATION getsp #.LANGUAGE Csh #.AUTHOR CDS Catalogues Service #.ENVIRONMENT #.KEYWORDS #.VERSION 1.0 07-May-1998: Creation #.VERSION 1.1 22-Jan-2001: 'echo' command is unusable -- use gawk # (too many variations between bash / csh / sh ) #.PURPOSE #.COMMENTS From a starname or a record number, show the Spectrum #---------------- #echo "\section{Detail of spectrum for: {\tt{ $argv:q}}}" #echo "\begin{alltty}" if ($#argv < 1) then fcat data.dat | gawk -v f="$argv:q" '\ BEGIN{bg = "FireBrick"; \ fmt = "\\section{Detail of spectrum for: {\\fg{%s}%s}\n\\begin{alltty}\n";\ printf(fmt, bg, f) }\ END{print "\\end{alltt}\\hline"} \ /^[0-9 .-]*$/ { for (i=1; i <= NF; i++) { lam = $i ; i++ ; \ printf ("%4d %4d %6s\n", seq, lam, $i) ; } next} \ { seq++ ; print ; getline ; print; print " No lam. mag." } ' exit 0 endif #### A numeric argument is SpNo ; an alphabetic is a star name fcat data.dat | gawk -v f="$1" '\ BEGIN{fg = "FireBrick"; t=f; gsub(/[0-9]/, "", t); \ #print "f=" f ", t=" t "."; \ if (t=="") { SpNo=f+0; star = "\\#" f } else star = f " " ; \ fmt = "\\section{Detail of spectrum for: {\\fg{%s}%s}}\n\\begin{alltty}\n";\ printf(fmt, fg, star) }\ END{print "\\end{alltt}\\hline"} \ /^[0-9 .-]*$/ { if(n == 0) next; for (i=1; i <= NF; i++) \ { lam = $i ; i++; printf ("%4d %4d %6s\n", seq, lam, $i) ; } next }\ { seq++ ; if (n>0) exit; if (SpNo>0) {if (seq == SpNo) n = 1 } \ else {n = index($0, star) } \ if (n>0) printf("{\\bf\\fg{%s}\\#%s}\n",fg,$0); getline ; \ if (n>0) printf("{\\bf\\fg{%s}\\#%s\n\n\\# N{\\d} lam. mag.}\n",fg,$0);}' exit 0