如何在 Linux 中重命名屏幕截图如何在 Linux 中重命名屏幕截图如何在 Linux 中重命名屏幕截图如何在 Linux 中重命名屏幕截图
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Linux 中重命名屏幕截图

许多桌面 Linux 系统保存的屏幕截图名称类似于 Screenshot from 2020-11-29 18-57-51.png。通常,您真正需要的是将文件重命名为更明显的名称,例如 webinar1.png、webinar2.png 等。幸运的是,在 Linux 命令行上重命名一堆文件真的很容易。

Bash shell 非常通用,提供了不同的方法来评估值和扩展变量。一种巧妙的评估是算术评估。要执行此评估,请使用 $ (( and )) 包装您的算术语句。

评估还可以包括变量扩展,如 $sum 解析为一个值。但为方便起见,$ (( and )) 之间列出的任何 Bash 变量都会自动展开。例如,要将变量计数递增 1,您可以键入:

count=$(( count + 1 ))

这与键入相同:

count=$(( $count + 1 ))

算术展开支持与其他编程语言中相同的运算符,包括用于加法和减法的 + 和 -,* 和 / 表示乘法和除法,% 表示余数。您还可以使用 ++ 和 -- 来递增和递减变量中的值。查看 Bash 的手册页,向下滚动到 ARITHMETIC EVALUATION,以获取支持的运算符及其优先级的完整列表。

要重命名我的所有屏幕截图,我需要编写以下单行 Bash 命令:

n=1; for f in Screenshot*.png; do mv -v "$f" webinar$n.png; n=$(( n + 1 )); done

但这有什么作用呢?

命令的第一部分 n=1 将变量 n 初始化为 1。

然后,我使用 for 循环对所有以 Screenshot 开头并以 .png 扩展名结尾的文件进行操作。这些通常是我在上次网络研讨会上截取的所有屏幕截图。如果我需要更精确,我可能会在该文件规范中包含日期,例如 Screenshot from 2020-11-29*.png。反斜杠是文字转义,以保留文件名中的空格。

for 循环的每次迭代都会在 f 变量中存储一个文件名。所以 mv 命令 mv -v \$f\ webinar$n.png 将每个文件重命名为我喜欢的文件名,比如 webinar1.png 、webinar2.png 等。我需要在 $f 变量扩展周围加上引号,这样 Screenshot from YYYY-MM-DD hh-mm-ss.png 中的空格就不会在我的 中引起问题>mv 命令。如果您收到类似 mv: target webinar1.png is not a directory 的错误,您可能没有在 $f 周围加上引号。

最后,我增加了 n 变量中的值,以便为循环中的下一次迭代做好准备。算术展开 n=$ (( n + 1 )) 将 n 变量加 1。

©2015-2025 艾丽卡 support@alaica.com