将填充的零添加到名称文件

Adding padded zeros to name files

基于此:How to zero pad a sequence of integers in bash so that all have the same width?

我需要创建新的文件名以输入用三位数字表示染色体 1-22 的数组 (chromsome001_results_file.txt..chromsome022_results_file.txt)

在使用三位数系统(排序更容易)之前,我使用的是

for i in {1..22}; 
do echo chromsome${i}_results_file.txt; 
done 

我读过有关 printf 和 seq 的内容,但想知道如何将它们放在被文本包围的循环中间,以使 001 到 022 与文本保持一致。

非常感谢

使用 printf 指定带有零填充的字段。

for i in {1..22}; 
do 
    printf 'chromsome%03d_results_file.txt\n' "$i"
done 

%03d中,d表示十进制输出,3表示3位,0表示补零。