将文件名另存为递增编号

约翰·雷克萨斯(John Lexus)

我正在尝试编写一个bash脚本,该脚本将以特定格式保存我拍摄的文件的屏幕截图。我希望将其保存为数字(例如0001.jpeg),如果0001.jpeg已经存在,请继续将其另存为0002.jpeg,依此类推。我知道,使用时ffmpeg,当尝试从视频中保存帧时,您可以采用这种保存方式的格式:/path/to/place/%04d.ext它可以完成我想要的操作。我尝试用我的代码,使其看起来像这样:

gnome-screenshot -w -B -f /home/usr/ws/images_to_process/$%04d.jpeg

我也尝试过:

gnome-screenshot -w -B -f /home/usr/ws/images_to_process/$(%04d).jpeg

和:

gnome-screenshot -w -B -f /home/usr/ws/images_to_process/%04d.jpeg

但这没用。如您所见,我想不出太多可变性。有人知道怎么做吗?

谢谢

维尔加斯

您正在使用正确的数字格式生成输出文件名,但是需要一个变量和一个printf才能将“ /home/usr/ws/images_to_process/%04d.jpeg”转换为“ / home / usr / ws / images_to_process / 0001.jpeg”

我编写了一个小脚本,该脚本使用序列号创建文件,而不会覆盖现有文件。

  #!/bin/bash

  FILENAME="file_%04d.txt"
  COUNTER=0

  #Change true for your finish condition
  while true; do
        target=$(printf $FILENAME $COUNTER)

        # If not exists file $tarjet
        # -f check if exist a file
        # ! not condition
        if [ ! -f $target ]; then
              touch $target
        fi
        # counter ++
        COUNTER=$(($COUNTER + 1))
  done

您可以将“ gnome-screenshot -w -B -f $ target”的“ touch $ target”更改为输出文件名的变量“ target”。结果脚本为:

  #!/bin/bash

  FILENAME="/home/usr/ws/images_to_process/%04d.jpeg"
  COUNTER=0

  while true; do
        target=$(printf $FILENAME $COUNTER)
        if [ ! -f $target ]; then 
              gnome-screenshot -w -B -f $target
        fi
        COUNTER=$(($COUNTER + 1))
  done

我希望该信息有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将值另存为

wget命令下载文件并另存为其他文件名

在Pandas中将DataFrame名称另存为.csv文件名

使用电子对话框模块和.showSaveDialog时,在“另存为”窗口中填充文件名

VBA Word-具有初始文件名的另存为对话框

将图另存为EMF文件

如何设置iframe中显示的动态PDF在“另存为...”对话框中显示的文件名

打开“另存为”窗口并自动填充文件名和类型的宏

将.xlsx文件另存为.csv文件的SSIS过程

在数据库中将文件名另存为“ BLOB”

VBA:Word将.docx文件另存为.doc文件,如何另存为docx?

另存为以提示输入位置,但使用单元格中的文件名

Python硒打印另存为PDF,等待文件名输入

将.maf文件另存为表

读写.xlxs,但另存为新文件名python

将带有主题的邮件另存为文件名

获取日期并将其另存为文件名python

Excel尝试使用路径和文件名的单元格值另存为PDF

将pdf文件另存为blob

VBA另存为当前文件名+01

Excel for Mac VBA-另存为HTML在文件名中添加了意外的换行符

将excel另存为pdf,将文件名另存为变量值

如何使用AppleScript在Firefox的“另存为”对话框中输入文件名?

Rails将文件另存为图像

如何另存为文件,但同时获取文件名?

如何将Chrome扩展名另存为.exe文件?

要从Excel另存为的宏到.txt文件,其文件名和位置与原始文件相同

使用 VBA 将启用宏的工作簿另存为“文件名”+ 当前日期

迭代和拆分 Excel 文件名并在 Pandas 中另存为数据框