0
点赞
收藏
分享

微信扫一扫

【BASH 常用脚本系列 2 -- shell 动态按数值顺序增加生成文件名】

Go_Viola 04-01 23:00 阅读 1


请阅读【嵌入式开发学习必备专栏 】


文章目录

shell 动态按数值顺序增加生成文件名

要实现这个需求, 需要编写一个 shell 脚本 a.sh,这个脚本将执行以下操作:

  1. 在第一次运行时,会创建一个名为 tmp.txt 的文件,并写入字符 1
  2. 脚本会从 tmp.txt 文件中读取这个字符,并将其追加到一个基本文件名 filename 后以创建新的文件名。
  3. 完成文件命名后,脚本会将字符 2 写入 tmp.txt 文件,以便下次运行脚本时使用。
    下面是脚本 a.sh 的内容:
#!/bin/bash
# 定义文件名和临时文件的路径
base_filename="filename"
tmp_file="tmp.txt"
# 检查tmp.txt文件是否存在并且不为空
if [ ! -s "$tmp_file" ]; then
    # 如果不存在或为空,则echo 1到tmp.txt文件
    echo 1 > "$tmp_file"
fi
# 从tmp.txt文件中读取字符
number=$(cat "$tmp_file")
# 追加读取的字符到文件名
new_filename="${base_filename}${number}"
# 使用touch命令创建新的文件(这里仅创建空文件, 可以根据需要修改)
touch "$new_filename"
# 打印新文件名
echo "Created new file: $new_filename"
# 更新tmp.txt文件,以供下次使用
next_number=$((number+1))
echo "$next_number" > "$tmp_file"

将上述脚本保存到 a.sh 文件中,并给它执行权限:

chmod +x a.sh

在运行脚本之前,确保 当前的工作目录没有其他重要的名为 tmp.txtfilename* 的文件,因为这个脚本将会覆盖 tmp.txt 并创建或覆盖形如 filename1 的文件。
运行脚本:

./a.sh

脚本将执行上述所说的操作,创建名为 filename1 的文件,并在 tmp.txt 中写入 2。下一次执行脚本时,将创建名为 filename2 的文件,并在 tmp.txt 中写入 3,以此类推。

举报

相关推荐

0 条评论