我想重命名目录中的多个jpg文件,以便它们具有9位数的序列号。我也希望文件按日期从最旧到最新排序。我想出了这个:使用9位序列号对文件进行排序和重命名
ls -tr | nl -v 100000000 | while read n f; do mv "$f" "$n.jpg"; done
这重命名文件,因为我想他们但序号不符合日期。我也试过
ls -tr | cat -n .....
但是,这不允许我指定起始序列号。 任何建议我的语法有什么问题? 任何其他方式来实现我的目标? 谢谢
你为什么说序号不符合日期?当你单独运行'ls -tr'时,它是否给你你想要的命令?如果您想按创建时间排序,而不是最后修改时间,请使用“ls -trc”而不是“ls -tr”。 – vdavid
请注意[解析ls](http://mywiki.wooledge.org/ParsingLs)。在特定的封闭环境中,它可能适合你,这是一种不安全的习惯,应尽可能避免。 – ghoti
是的,'ls -tr'给了我我想要的命令 – Paul