Linux命令——文件批量重命名

17 篇文章 0 订阅

查找当前目录下以.jpg结尾的文件,并重命名为__test.jpg结尾的文件名。

for file in *.jpg; do mv "$file" "${file%.jpg}_test.jpg"; done

mv "$file" "${file%.jpg}_input.jpg" 是用于重命名文件的命令,其中涉及了文件名的处理和变量替换。以下是对这个命令的详细解释:

1. mv 命令

  • mv 是 Linux 中的一个命令,用于移动文件或重命名文件。这里使用 mv 来实现文件的重命名。

2. "$file"

  • "$file" 是一个变量,它在脚本或循环中代表当前文件的名称。
  • 使用双引号 "..." 是为了防止文件名中包含空格或特殊字符时出错,确保文件名能够被正确识别和处理。

3. ${file%.jpg}

  • ${file%.jpg} 是一个 参数扩展变量替换 操作,用于对变量 file 的值进行处理。
  • file 变量代表文件名,比如 example.jpg
  • ${file%.jpg} 的作用是将变量 file 的值中匹配 .jpg 的部分删除。
    • file 变量的值可能是 example.jpg
    • ${file%.jpg} 的结果就是 example
  • % 是一种模式匹配操作,在这里用于去掉变量值中最右边的匹配内容。
  • .jpg 是模式,表示要去掉 .jpg 这个后缀。

4. "${file%.jpg}_input.jpg"

  • 这一部分是将上一步得到的文件名结果加上 _input.jpg 后缀。
  • 继续上面的例子,如果 fileexample.jpg,那么 ${file%.jpg}_input.jpg 结果就是 example_input.jpg

5. 整个命令解释

  • 假设有一个文件名为 example.jpg,变量 file 代表这个文件。
  • ${file%.jpg} 会把 example.jpg 变成 example
  • ${file%.jpg}_input.jpg 会把 example 变成 example_input.jpg
  • mv "$file" "${file%.jpg}_input.jpg" 会将原来的 example.jpg 文件重命名为 example_input.jpg

总结

  • ${file%.jpg}:从文件名中去掉 .jpg 后缀。
  • "${file%.jpg}_input.jpg":去掉 .jpg 后缀后,在文件名末尾添加 _input.jpg
  • mv "$file" "${file%.jpg}_input.jpg":将文件名从原始的 example.jpg 重命名为 example_input.jpg

这个命令在循环中会对每个 .jpg 文件进行这种重命名操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值