如何在条件中使用2个变量?

问题描述 投票:0回答:1

我刚刚从朋友那里得到了一些照片。输入:

'WhatsApp Image 2020-01-03 at 15.13.36.jpeg'      
'WhatsApp Image 2020-01-03 at 15.13.37.jpeg'
'WhatsApp Image 2020-01-03 at 15.13.37 (1).jpeg'  
'WhatsApp Image 2020-01-03 at 15.13.38.jpeg'

我想通过某种自动化来更改其名称。所以我知道当我写的时候:

for x in ./*.jpeg;do open $x;done

我可以打开同一目录中的所有文件。要更改其名称,我可以使用以下命令:

mv a.jpeg b.jpeg

所以我的问题是如何编写一个for循环,这样我不仅更改了名称,还增加了一些val编号:它必须看起来像:

i=1 && for x in ./*.jpeg;do mv ./$x ./$i.jpeg & i++; done

我不确定适当的语法是什么样。

输入:

'WhatsApp Image 2020-01-03 at 15.13.36.jpeg'      
'WhatsApp Image 2020-01-03 at 15.13.37.jpeg'
'WhatsApp Image 2020-01-03 at 15.13.37 (1).jpeg'  
'WhatsApp Image 2020-01-03 at 15.13.38.jpeg'

输出:

1.jpeg
2.jpeg
3.jpeg
4.jpeg
bash for-loop syntax terminal
1个回答
0
投票
i=1; for x in *.jpeg; do mv -i "$x" "$((i++)).jpeg"; done

0
投票

我的解决方案不是单一的衬板,但是可以使用oneliner制成。

x=0
for i in $(ls);
   do mv $i ${i}_${x}
   let "x+=1"
done

结果将是文件的原始名称,并在名称后加上_number。

© www.soinside.com 2019 - 2024. All rights reserved.