如何编写脚本:每次运行时从上次断点续创25个连续编号空文件?
实现连续批量创建空文件的脚本方案
Bash 脚本实现
这是最常用的shell脚本方案,通过一个状态文件记录上次创建的最后编号,每次运行自动续接序列:
#!/bin/bash # 存储上次最后编号的状态文件 STATE_FILE="./last_num.txt" # 每次创建的文件数量 BATCH_COUNT=25 # 读取上次的结束编号,文件不存在则从0开始 if [ -f "$STATE_FILE" ]; then LAST_NUM=$(cat "$STATE_FILE") else LAST_NUM=0 fi # 计算本次的编号范围 START=$((LAST_NUM + 1)) END=$((LAST_NUM + BATCH_COUNT)) # 批量创建空文件 for ((i=START; i<=END; i++)); do touch "$i" done # 更新状态文件,记录本次的结束编号 echo "$END" > "$STATE_FILE"
使用说明
- 将脚本保存为
create_files.sh,赋予执行权限:chmod +x create_files.sh - 第一次运行会创建
1到25的空文件,同时生成last_num.txt记录25 - 第二次运行自动创建
26到51,以此类推 - 若要重置序列,直接删除
last_num.txt即可
Python 脚本实现
如果更熟悉Python,也可以用以下脚本实现相同功能:
#!/usr/bin/env python3 STATE_FILE = "last_num.txt" BATCH_COUNT = 25 # 读取上次的结束编号 try: with open(STATE_FILE, "r") as f: last_num = int(f.read().strip()) except (FileNotFoundError, ValueError): last_num = 0 # 计算本次编号范围 start_num = last_num + 1 end_num = last_num + BATCH_COUNT # 创建空文件 for num in range(start_num, end_num + 1): with open(str(num), "w") as f: pass # 仅创建空文件,无需写入内容 # 更新状态文件 with open(STATE_FILE, "w") as f: f.write(str(end_num))
使用说明
- 保存为
create_files.py,运行:python3 create_files.py - 逻辑与Bash脚本完全一致,状态文件同样是
last_num.txt
内容的提问来源于stack exchange,提问作者JeremyP
相关产品推荐
相关产品推荐

