首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在unix中用文件模式重命名文件时发出

在unix中用文件模式重命名文件时发出
EN

Stack Overflow用户
提问于 2020-05-27 13:55:12
回答 2查看 67关注 0票数 0

作为我们过程的一部分,我们获得了一个.gz格式的输入文件。我们需要解压缩这个文件,并在文件末尾添加一些后缀。输入文件有时间戳,所以我试图在解压缩和重命名此文件时使用筛选器。

输入文件名:

代码语言:javascript
复制
Mem_Enrollment_20200515130341.dat.gz

步骤1: 解压缩此文件:(按预期工作)

代码语言:javascript
复制
gzip -d Mem_Enrollment_*.dat.gz

输出:

代码语言:javascript
复制
Mem_Enrollment_20200515130341.dat

步骤2:重命名此文件:(重命名时出现问题)

再一次,我将遵循模式,但我知道这在这种情况下是行不通的。那么,我应该如何重命名这个文件呢?

代码语言:javascript
复制
mv Mem_Enrollment_*.dat Mem_Enrollment_*.dat_D11

输出:

代码语言:javascript
复制
Mem_Enrollment_*.dat_D11

预期输出:

代码语言:javascript
复制
Mem_Enrollment_20200515130341.dat_D11
EN

回答 2

Stack Overflow用户

发布于 2020-05-27 14:04:26

试一试

代码语言:javascript
复制
for fn in Mem_Enrollment_*.dat
do 
mv ${fn} ${fn}_D11;
done
票数 1
EN

Stack Overflow用户

发布于 2020-05-27 16:38:03

使用数据存储,您可以通过"ls Mem_Enrollment_*.dat.gz“循环执行命令阶段的ls输出,然后在循环输出列表时使用@FM作为分隔符。然后,您可以将gzip重新命名为两个单独的命令,这有助于提高工作的可读性。

这里唯一要注意的是,Start循环阶段不接受分隔符中的@FM,这是由于Datastage内部的一些有趣之处。因此,您需要设置一个等于它的用户变量,并将其传递给标记。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62044851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档