【发布时间】:2015-05-08 08:15:31
【问题描述】:
我有 shell 脚本(ksh),它通过 SPOOL 从 oracle 表 x 将文件写入 xxxx unix 目录。
表 x 的列具有 seq_no。应该为不同的 seeq_no 生成文件。
例如
table x data
seq_no,a,b,c
1,2,3,4
1,5,6,7
1,8,9,10
2,1,2,3
2,4,5,6
2,7,8,9
文件名 = test_${STAMP}.csv
在这种情况下,应该生成两个具有不同 timstamp 的文件,因为我们在表 x 中有 2 个不同的 seq_no。
当脚本运行时,STAMP = date +%Y%m%d%H%M%S 变量将只保存一个值。所以我的第一个文件被秒写了。
请告诉我如何在 shell 脚本本身处于执行状态时找到当前日期时间。
【问题讨论】:
-
那么你想要的输出是什么?日期从何而来?您是否希望脚本足够慢以至于在运行时时间会改变一秒?
-
Oracle 完成后可以使用 seq_no 分割输出文件。也许您想通过在文件名中添加 seq_no 来使文件名唯一?