我有一个目录,其中包含随机名称的文件。我想要做的是用file1,file2等重命名文件。字典上较小的文件名应该用较小的数字编号。我怎样才能做到这一点?
一个简单的 bash 脚本应该可以做到。
#!/usr/bin/env bash
count=0
for i in *; do
mv "${i}" file${count}.`echo "${i}" | awk -F. '{print $2}'`
((++count))
done
Run Code Online (Sandbox Code Playgroud)
为了帮助逐行解释:
ls
(默认按字母顺序排序)。file#.ext
. “#”是“count”中的当前数字以及“.”之后的内容。是获取当前文件扩展名的快速方法(因此这可以在具有各种文件扩展名的文件夹中工作)。循环,循环,循环
注意:
这将在您执行它的任何目录中执行。因此,作为脚本,您需要添加命令行参数。相反,我会打开一个终端,导航到要执行此操作的目录,然后执行以下操作(完全正确):
for i in *; do mv "${i}" "file${count}".`echo "${i}" |
awk -F. '{print $2}'`; ((++count)); done
Run Code Online (Sandbox Code Playgroud)这是假设您只有文件名,例如“file.txt”而不是“this.is.a.file.txt”
归档时间: |
|
查看次数: |
16973 次 |
最近记录: |