确定位数 bash
Determine number of digits bash
我有一个日期,它通过 3 个单独的命令行参数输入到 bash 脚本中。用户可以为月份和日期输入 1 位或 2 位数字,为年份输入 4 位数字(例如 2014 01 01
或 2014 1 1
)。但是我的脚本需要两位数字才能 运行。我正在考虑使用 if 语句来处理这个问题。它基本上会说 "if the amount of digits in the month is less than 2 then put a leading zero in front of it"。不过,我不确定如何确定 bash 中的位数。我是脚本编写的新手,所以非常感谢任何帮助!
对于任何bash变量$x
(包括参数</code>、<code>
等),${#x}
是[=10=的长度] 字符。
您可以使用 printf
命令解决此问题:
month=5
month2=`printf %02d $month`
%02d
格式说明符将 $month
格式化为带前导零的两位十进制数字(如有必要)。
我有一个日期,它通过 3 个单独的命令行参数输入到 bash 脚本中。用户可以为月份和日期输入 1 位或 2 位数字,为年份输入 4 位数字(例如 2014 01 01
或 2014 1 1
)。但是我的脚本需要两位数字才能 运行。我正在考虑使用 if 语句来处理这个问题。它基本上会说 "if the amount of digits in the month is less than 2 then put a leading zero in front of it"。不过,我不确定如何确定 bash 中的位数。我是脚本编写的新手,所以非常感谢任何帮助!
对于任何bash变量$x
(包括参数</code>、<code>
等),${#x}
是[=10=的长度] 字符。
您可以使用 printf
命令解决此问题:
month=5
month2=`printf %02d $month`
%02d
格式说明符将 $month
格式化为带前导零的两位十进制数字(如有必要)。