我的输入是LOAD_DATE = 20072016
我想要输出为“LOAD_DATE = 20-07-2016
这是样本日期”。日期将通过 LOG_DATE=echo ${LOG_FILE_NAME} |cut -d"." -f3 样本日期“20072016,19072016,18072016”
这是我正在做的事情:
LOG_DATE1=echo ${LOG_FILE_NAME} |cut -d"." -f3
LOG_DATE=`echo ${LOG_DATE1:0:2}-${LOG_DATE1:2:2}-${LOG_DATE1:4:4}`
但这给了我一个错误“糟糕的替代”
答案1
不使用echo
LOG_DATE=${LOG_DATE1:0:2}-${LOG_DATE1:2:2}-${LOG_DATE1:4:4}
echo $LOG_DATE
答案2
sed -e 's/.\{2\}/&-/' -e 's/.\{5\}/&-/' LOG_DATE_FILE_NAME
LOG_DATE_FILE_NAME 是包含实际日期 20072016 的文件的名称。