文字列をコマンドパラメータとして使用HHMMSS
し、それを時間形式に変換してHH:MM:SS
現在の日付に追加したいと思います(スクリプトから日付を生成するには "date"コマンドを使用する必要があります)。
たとえば、コマンドライン引数がある場合は、現在の日付
093500
に変換して追加する必要があります。09:35:00
2018-05-16 09:35:00
例:
$ ./convertTime.sh 093500
2018-05-16 09:35:00
ベストアンサー1
これはksh
ksh93を意味します。
$ t=093500
$ DATEMSK=/dev/stdin <<<%H%M%S printf "%(%F %T)T\n" "$t"
2018-05-17 09:35:00
または:
$ printf '%(%F)T %.8s\n' now "${t//??/\0:}"
2018-05-17 09:35:00
またはポータブル(Bourneまたはcshシリーズシェルまたはfish
)
$ date +"%Y-%m-%d $t" | sed 's/\(..\)\(..\)$/:\1:\2/'
2018-05-17 09:35:00
(rcに似たシェルの場合を使用してくださいdate +'%Y-%m-%d '$t
)