我已经搜索了无处不在,想出下面的脚本。我无法弄清楚问题在这里。 我试图循环遍历名为Extracted_Source的目录中的所有目录,以重命名任何带有附加时间戳的CSV文件。 任何帮助表示赞赏。在某个目录中递归地重命名某些文件 - Shell/Bash脚本
我不断收到一个
No such file or directory./Extracted_Source/*
下面是源:
for files in ./Extracted_Source/*
do if ["$files" contains ".csv"]
then mv "$files" "${files%}_$(date "+%Y.%m.%d-%H.%M.%S").csv";
fi done; echo end
这意味着您的当前工作目录中不存在Extracted_Source文件夹,或者Extracted_Source /不包含任何文件。 'ls。/ Extracted_Source/*'显示什么?我想这将是同样的事情。 –
您的*参数扩展w /子字符删除*'$ {files%}'删除** nothing **。也许你打算'$ {files%.csv} _...'? –