我在变量中存储的内容,例如 xyz:
20170629
我要打印的内容:
2017年06月29日
我该怎么做:
year=$(echo $xyz | cut -c1-4) month=$(echo $xyz | cut -c5-6) day=$(echo $xyz | cut -c7-8) echo $year $month $day
我需要知道一个更懒惰的方法来完成这个。谢谢。
最佳答案
内置 bash substring manipulation :
echo ${xyz:0:4} ${xyz:4:2} ${xyz:6:2}
这将从位置 0 回显长度为 4(年)的子字符串,然后从位置 4 回显长度 2(月),最后从位置 6 回显长度 2(日)。
或者使用 date
命令:
date -d'20160629' "+%Y %m %d"
我们向它提供输入日期并为其提供新格式。使用 man date
检查 date
联机帮助页以查看所有格式选项。
关于linux - 如何在 Linux/Unix Shell 中对字符串进行分段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45017381/