目的
在linux系统下,使用脚本,自动地复制多份相同文件,并按顺序修改文件名,添加编号。并且在编号的左边补零对齐位数。
操作
- 在目标文件位置处创建脚本,命名为:
cp_100x.sh
- 修改脚本,内容如下:
#!/bin/bash
original_file="my_file_000.gz" # 需要复制的原始文件名
target_file_prefix="my_file_" # 生成的文件名前缀
target_file_suffix=".gz" # 生成的文件名后缀
for ((i=1; i<100; i++)) # 复制 100 次
do
number=$(printf "%03d" $i) # 编号,会用 0 补满左边,直至有3位数
target_file="$target_file_prefix$number$target_file_suffix" # 把前缀,编号,后缀拼接起来
echo "target_file_name=$target_file" # 打印出文件名
cp "$original_file" "$target_file" # 复制粘贴
done
按需求修改 original_file
, target_file_prefix
, target_file_suffix
以及需要复制的次数即可。
- 在目标文件位置处,打开命令行,依次输入
chmod +x cp_100x.sh
./cp_100x.sh
这两条的意思是:修改这个脚本的权限,让其能够复制粘贴。然后运行脚本。
结果
按上述操作,会在当前文件夹下得到如下命名的 100 个相同文件
my_file_000.gz
my_file_001.gz
my_file_002.gz
...
my_file_099.gz