【发布时间】:2021-03-07 12:33:30
【问题描述】:
在下面,我尝试使用awk 更改目录中一对文件名(连字符和下划线之间)的一部分,并将值存储在变量中。下面的内容会执行,但文件名不会改变。谢谢你:)。
变量
id=aaaaa
目录中的文件
00-0000-xxx-y-zzz_x1_y.txt
00-0000-xxx-y-zzz_x2_y.txt
想要的
00-0000-xxx-y-aaaaa_x1_y.txt
00-0000-xxx-y-aaaaa_x2_y.txt
awk
awk -F'-' var=$id'{sub("$5","var")}1' *.txt
【问题讨论】:
-
awk 正在更改文件内容而不是文件名本身。您将需要使用
renameperl 实用程序 -
shell 是一种用于操作(创建、销毁、重命名等)文件和进程的工具。 awk 是一个操作文本的工具。您尝试使用错误的工具来完成此任务。
标签: regex shell awk rename file-rename