linux - 如何用以某个数字开头的数字替换文件名?
问题描述
我希望以 177.jpg 开头的文件命名为 177.jpg、178.jpg 等。我用它来将它们从 1 重命名为文件数量:
ls | cat -n | while read n f; do mv "$f" "$n.jpg"; done
如何修改这个?但全新的脚本也会很棒。
解决方案
Bash 可以为你做简单的数学运算:
mv "$f" $(( n + 176 )).jpg
只是希望没有文件名包含换行符。
有比解析 的输出更安全的方法ls
,例如遍历扩展的通配符:
n=177
for f in * ; do
mv "$f" $(( n++ )).jpg
done
推荐阅读
- java - Java 将 JSON 路径值解析为变量
- sql - 在对另一个表进行更新后,如何更新表中的列?
- python - 如何为 sklearn 创建具有多个参数的自定义距离函数
- amazon-web-services - 未从 Textract 接收到 Amazon SNS 的消息
- php - 需要帮助解决调用使用 WooCommerce 的 Wordpress 网站上特定功能的计划 cron 事件问题
- php - 如何从另一个类访问变量?
- neural-network - 关于焦点损失函数实现的问题
- vb.net - 如何列出项目所有形式的所有按钮
- locust - 使用 Locust,您如何从任务中访问特定的 locust 用户?
- spring-boot - 环境特定设置 Spring Batch Spring Boot Spring Cloud 数据流