我希望从177.jpg开始,将文件命名为177.jpg,178.jpg等。 我使用它将它们从1重命名为文件数量:
ls | cat -n | while read n f; do mv "$f" "$n.jpg"; done
如何修改?但是全新的剧本也会很棒。
答案 0 :(得分:3)
Bash可以为你做简单的数学运算:
mv "$f" $(( n + 176 )).jpg
希望没有文件名包含换行符。
比解析ls
的输出有更安全的方法,例如迭代扩展的通配符:
n=177
for f in * ; do
mv "$f" $(( n++ )).jpg
done
答案 1 :(得分:2)
这应该有用。
#!/bin/bash
c=177;
for i in `ls | grep -v '^[0-9]' | grep .png`; # This will make sure only png files are selected to replace and only the files which have filenames which starts with non-numeric
do
mv "$i" "$c".png;
(( c=c+1 ));
done