我必须在shell脚本中读取一个文件。我正在使用PL / SQL的UTL_FILE来打开文件。 但我必须做一个新的更改,它会将时间戳附加到文件中。
例如import.data文件变为import_20152005101200.data
现在时间戳是文件到达服务器的时间。 由于文件名已更改,我无法使用旧的文件访问方式。 我提出了以下解决方案:
UTL_FILE.FOPEN('path','import _ $ {file_date} .data','r');
要实现这一点,我必须使用SUBSTR获取文件名并修剪它以获取时间戳并传递给 file_date 变量。 但是,我无法找到如何访问特定路径中的文件名。我可以使用basename。但是由于时间戳,我的文件名不断变化。
欢迎任何帮助/替代想法。
答案 0 :(得分:0)
PL / SQL不是解决这个问题的好工具; UTL_FILE
没有任何工具可以列出文件夹中的所有文件。
更好的解决方案是定义一个使用UTL_FILE
的存储过程,并传递文件名作为过程的参数进行处理。这样,您可以使用shell(具有许多强大的命令和工具来检查文件夹和文件)或Python等脚本语言来确定要处理的文件。