作为我们过程的一部分,我们获得了一个.gz格式的输入文件。我们需要解压缩这个文件,并在文件末尾添加一些后缀。输入文件有时间戳,所以我试图在解压缩和重命名此文件时使用筛选器。
输入文件名:
Mem_Enrollment_20200515130341.dat.gz步骤1: 解压缩此文件:(按预期工作)
gzip -d Mem_Enrollment_*.dat.gz输出:
Mem_Enrollment_20200515130341.dat步骤2:重命名此文件:(重命名时出现问题)
再一次,我将遵循模式,但我知道这在这种情况下是行不通的。那么,我应该如何重命名这个文件呢?
mv Mem_Enrollment_*.dat Mem_Enrollment_*.dat_D11输出:
Mem_Enrollment_*.dat_D11预期输出:
Mem_Enrollment_20200515130341.dat_D11发布于 2020-05-27 14:04:26
试一试
for fn in Mem_Enrollment_*.dat
do
mv ${fn} ${fn}_D11;
done发布于 2020-05-27 16:38:03
使用数据存储,您可以通过"ls Mem_Enrollment_*.dat.gz“循环执行命令阶段的ls输出,然后在循环输出列表时使用@FM作为分隔符。然后,您可以将gzip重新命名为两个单独的命令,这有助于提高工作的可读性。
这里唯一要注意的是,Start循环阶段不接受分隔符中的@FM,这是由于Datastage内部的一些有趣之处。因此,您需要设置一个等于它的用户变量,并将其传递给标记。
https://stackoverflow.com/questions/62044851
复制相似问题