bash - 更改 bash 中较大子集的文件名(mac 终端)
问题描述
我有大量 .tif 文件以下列方式标记:
xxxx_01.tif;xxxx_02.tif;.... xxxx_95.tif
如何在增加标签的同时批量更改文件的名称(即文件 01-16 更改为 condition_1;文件 17-20 更改为 condition_2)?
我一直在执行以下命令来重命名它们,但我不确定如何选择某个范围:
a=1;
for i in *.tif;
do new=$(printf "%02d.tif" "$a");
mv -- "$i" "filename_$new";
let a=a+1;
done
干杯
解决方案
您可以生成您感兴趣的文件名,而不是对文件夹中的所有文件进行通配:
for n in $(seq -w 1 16)
do
original_tif="xxxx_${n}.tif"
new_tif="condition_1_${n}.tif"
mv "${original_tif}" "${new_tif}"
done
推荐阅读
- php - 如何在 OpenCart 中备份后修复错误 500
- kubernetes - 通过 Kubernetes Dashboard 获取 helm 发布值(helm show values)
- typescript - 打字稿异步生成器编译/类型问题
- angular - 如何更改传入的@Input 值并发出@Output
- python - for 循环遍历具有多个时间步的 csv 文件
- python - RDD(array(list())) 映射到python中的字段及其值
- snmp - 通过更改 MIB 值(SNMPv2 到 SNMPv3),不会收到新的 SNMP 陷阱
- java - 如何在java中绘制或填充梯形?
- javascript - 动态创建的表上的弹出框问题
- javascript - 如何在Javascript中将列表转换为有序列表?