nux*_*nux 7 command-line scripts gnome-terminal
我有一个包含一堆.txt文件的目录,我需要一个命令来通过一个命令重命名这些文件,因此它们的名称将是:file1.txt , file2.txt, file3.txt , etc .
任何帮助?
sou*_* c. 20
您可以在终端中使用它来根据需要重命名文件,
j=1;for i in *.txt; do mv "$i" file"$j".txt; let j=j+1;done
Run Code Online (Sandbox Code Playgroud)
它会完成这项工作。
解释:
j,最初将其设置为 1*.txt获取所有txt文件。mv并将计数器增加 1。您可以使用 rename 命令,该命令通常包含在默认安装中:
c=0 rename 's/.*/sprintf("file%05d.txt", ++$ENV{c})/e' *
Run Code Online (Sandbox Code Playgroud)
如果您想先进行测试,请使用 -n 标志:
c=0 rename -n 's/.*/sprintf("file%05d.txt", ++$ENV{c})/e' *
Run Code Online (Sandbox Code Playgroud)
它的工作方式是,对于每个参数,它执行 perls///表达式,并执行从原始字符串到替换字符串的重命名。在我sprintf用来格式化名称的替换字符串中,我使用环境变量c作为 1 的计数器。
在大多数情况下,您可能还需要为每个数字前导“0”,%05d这样做的技巧,其中 5 是位数。
| 归档时间: |
|
| 查看次数: |
10088 次 |
| 最近记录: |