2

いくつかを使用printfしてファイルに出力したいと考えています。

使うことができます

for{i in set1}  printf '%10.5f\n',var1[i] >> ('a' & 'very' & 'long' & 'string' & 123 & sprintf('%5d', foo));
for{i in set2}  printf '%10.5f\n',var2[i] >> ('a' & 'very' & 'long' & 'string' & 123 & sprintf('%5d', foo));
for{i in set3}  printf '%10.5f\n',var3[i] >> ('a' & 'very' & 'long' & 'string' & 123 & sprintf('%5d', foo));

しかし、毎回ファイルを繰り返したくありません。

ファイルはoption log_file作成されますが空であり、出力はコンソールに出力されます。

4

2 に答える 2

2

ファイル名を繰り返さないようにするには、パラメータに保存します。

param out symbolic =
  'a' & 'very' & 'long' & 'string' & 123 & sprintf('%5d', foo);
for{i in set1} printf '%10.5f\n',var1[i] >> (out);
for{i in set2} printf '%10.5f\n',var2[i] >> (out);
for{i in set3} printf '%10.5f\n',var3[i] >> (out);

outファイル名として逐語的なテキストではなく、式 (この場合はパラメーター参照) を渡すことができるため、括弧が重要であることに注意してください。

于 2013-12-15T15:46:58.013 に答える