在我的终端上运行“ls -lrt”我得到一个看起来像这样的大列表:
-rw-r--r-- 1 pratik staff 1849089 Jun 23 12:24 cam13-vid.webm
-rw-r--r-- 1 pratik staff 1850653 Jun 23 12:24 cam12-vid.webm
-rw-r--r-- 1 pratik staff 1839110 Jun 23 12:24 cam11-vid.webm
-rw-r--r-- 1 pratik staff 1848520 Jun 23 12:24 cam10-vid.webm
-rw-r--r-- 1 pratik staff 1839122 Jun 23 12:24 cam1-vid.webm
上面我只展示了一部分作为示例。
我想重命名所有文件,使其编号比当前文件小一。
例如,
mv cam1-vid.webm cam0-vid.webm
mv cam2-vid.webm cam1-vid.webm
.....
....
mv cam 200-vid.webm cam199-vid.webm
如何使用 os x/linux bash 脚本(可能使用 sed)来完成?
最佳答案
你可以用普通的 bash 来做到这一点:
for i in {1..200}
do
mv "cam${i}-vid.webm" "cam$((i-1))-vid.webm"
done
关于bash - 如何减少目录中每个文件名中的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17819954/