【问题标题】:How to use 2 variables with for condition?如何在 for 条件下使用 2 个变量?
【发布时间】:2020-01-04 07:27:37
【问题描述】:

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

'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

【问题讨论】:

  • 请留下输入和输出文件的例子。谢谢
  • 您是否尝试使用& 作为布尔and 运算符?你想要&&
  • 必须是单排吗?
  • 你是对的。它应该是 &&。一行是一种乐趣。

标签: bash for-loop syntax terminal


【解决方案1】:
i=1; for x in *.jpeg; do mv -i "$x" "$((i++)).jpeg"; done

【讨论】:

    猜你喜欢
    • 2021-06-23
    • 2022-11-01
    • 2017-04-25
    • 1970-01-01
    • 2011-05-06
    • 2015-09-28
    • 2012-04-18
    • 2019-01-15
    • 1970-01-01
    相关资源
    最近更新 更多