mir*_*rix 18 variables bash awk pad zero
我在bash的"for"循环中有以下awk命令:
awk -v pdb="$pdb" 'BEGIN {file = 1; filename = pdb"_" file ".pdb"}
/ENDMDL/ {getline; file ++; filename = pdb"_" file ".pdb"}
{print $0 > filename}' < ${pdb}.pdb
Run Code Online (Sandbox Code Playgroud)
这将读取一系列名为$ pdb.pdb的文件,并将它们拆分为名为$ pdb_1.pdb,$ pdb_2.pdb,...,$ pdb_21.pdb等的文件.但是,我想生成带有名称的文件比如$ pdb_01.pdb,$ pdb_02.pdb,...,$ pdb_21.pdb,即将填充零添加到"file"变量.
我尝试过以不同的方式使用printf但没有成功.非常感谢帮助.
JJ.*_*JJ. 26
以下是如何使用以下方法创建前导零awk
:
# echo 1 | awk '{ printf("%02d\n", $1) }'
01
# echo 21 | awk '{ printf("%02d\n", $1) }'
21
Run Code Online (Sandbox Code Playgroud)
替换%02
为您需要的总位数(包括零).