* プログラミングのためのTIPS [#uf7699ac]

よく忘れるチョイネタは、しっかりとメモしておこう。

#contents

** Fortran [#b5e5c4ce]
*** unformattedなsequentialの入出力 [#r9d30534]
- 衝撃の事実! unformattedでsequential なアクセスの場合、データのカタマリごとにアクセスが行われる。~
要は、カタマリの間には8バイトのスペース(?)が入って、一回のアクセスがカタマリの大きさに対してどうであろうと、次のアクセスは次のカタマリに行っちゃう、ということだ。~
たぶん、いまさら気づいているのが遅いんだろうけど、今までDirect Accessが多かったからしかたないのだ。

*** formattedなsequentialの入出力 [#h0b54c6e]
- いまさらでいうと、formattedの自由書式(*)のとき、入力は,(カンマ)も区切り文字として認識するみたいだ。知らなかった(恥)。

*** iargc() [#pe2d5080]
引数の数。
 if (iargc().ne.3) then
  write(6,*) 'Usage: xxxxxx'
  stop
 end
とか入れておくと、すっかり忘れたプログラムが何をするものか思い出されやすい。

** Shell (sh,csh,tcsh) [#rd9ecdac]

** awk [#mb29cab0]
*** 書式(printf) [#k6e7422f]
 awk '{SUM=SUM+$1}END{printf("%f\n",SUM/NR)}' list
 echo 1 | awk '{printf("%2.2i\n",$1+1)}'
*** 正規表現 [#cf680f28]
- ファイル名:FILENAME
- 行:NR
- フィールド数:NF
- フィールド全部:$0
** sed [#a63fe483]
*** 置換 [#e19d699a]
 sed -e s/"\/"/" "/g sample.txt  --> 全ての/ (スラッシュ)を (空白)に置換。