データを処理する際のちょっとしたテクニック
スクリプトで有効に使えるTips
$ mkdir ~/bin $ cd bin (ファイルgetatomsをつくる) $ ls -l getatoms -rw-r--r-- 1 kimi sstlab 1350 Apr 17 16:38 getatoms $ chmod a+x getatoms $ ls -l getatoms -rwxr-xr-x 1 kimi sstlab 1350 Apr 17 16:38 getatoms $ cd $ getatoms usage: getatoms [-r R1 R2 R3] input_nc_file output_xyz_file
プログラム「moge_exec」に、ファイル「hoge_in.data」から入力を読み込んで、出力をファイル「hage_out.data」に書き込むには
$ ./moge_exec < hoge_in.data > hage_out.data
または
$ cat hoge_in.data | ./moge_exec > hage_out.data
とする。
自動的に実行したいUNIXコマンドを単に羅列したファイルを用意しておき、逐次自動実行することができる。簡単な制御構造も備えているし、ちょっと おまじないをすることによって、自前のunixコマンドのようにも使うことができる。
$ sh ○○○○.sh △△△△
と入力することにより実行される。スクリプト中で、△△△△という文字列は$@
で参照できる。
$ cat hogehoge.sh #!/bin/sh なんとかかんとか $ chmod +x hogehoge.sh $ ./hogehoge.sh
ファイル名は○○○○.awk
にする。
ターミナルで
$ awk -f ○○○○.awk △△△△
と入力することにより△△△△という名前のファイルを処理する。
$ awk -f hogehoge.awk datafile.data
で実行できるawk fileの最初に
#!/usr/bin/awk -f
を書いておくと、
$ chmod +x hogehoge.awk
とすることによって、あたかも独立したコマンドのように
$ ./hogehoge.awk datafile.data で、実行することができる。
ASEを用いてDacapoによる計算を行うためには、若干のPythonの知識が必要です。 Pythonはオブジェクト指向の汎用言語で覚えておくと非常に便利なものです。 インタープリタとして実装されているため速度面ではcやFORTRANに比べて不利ですが、非常に柔軟な拡張性を持っており、各種モジュールを読み込むことによりVTKを使った描画から、RasMolやGnuPlotの自動実行までも行うことができます。 変数宣言がいらないこと、インタープリタでその場で試しながらプログラムを書いたりデバッグしたりできること、簡単な手順でグラフィックスを扱うことができることなどを考え合わせると、現代版BASICといった趣もあります。
○○○○.py
にする。$ python ○○○○.py
と入力することにより実行される。
$ python -i ○○○○.py
のように、-i
をつけること。<fc #ff0000>これをつけないと絵を描く前にプログラムが終了してしまう</fc>。
#!/usr/bin/env python from optparse import OptionParser cmd = OptionParser(usage = '%prog [-t] [-p X Y Z] input_file output_file') cmd.add_option('-t', '--toggle', action = "store_true", default = False, help = 'ON/OFFを与えるだけのオプション') cmd.add_option('-p', '--position', type = 'int', nargs = 3, help = 'オプションとして3個の整数X Y Zを与える', metavar = 'X Y Z') (opt, argv) = cmd.parse_args() if len(argv) != 2: cmd.print_help() raise SystemExit input_file = argv[0] output_file = argv[1] option_on_off = opt.toggle option_xyz = opt.position
詳細は即席ヘビ使い講座を参照のこと。