在这里我们使用awk命令来删除日期中的前导零。
代码示例:
#!/bin/bash
reformat_date(){
# 假设DOB的格式为ddmmyyyy,使用substr分割出年月日
year=$(echo $1 | awk '{print substr($0, 5, 4)}')
month=$(echo $1 | awk '{print substr($0, 3, 2)}')
day=$(echo $1 | awk '{print substr($0, 1, 2)}' | sed 's/^0//') # 删除日期中的前导零
# 将结果格式化为yyyy-mm-dd的形式
echo "$year-$month-$day"
}
# 引用函数,并传入DOB
echo $(reformat_date "01071990")
以上代码的输出结果为:1990-07-1。