날짜 형식을 "09-12:36:10"에서 "09-월-년 12:36:10"으로 변환하는 방법("월"을 현재 연도로 바꾸고 현재 월 이름(3글자 약어) 및 "연도"( 4자리), awk를 사용하나요? 예를 들어 "09-12:36:10"을 "09-JUL-2018 12:36:10"으로 변경합니다.
답변1
간단히,
echo 09-12:36:10 | awk -F '-' -v date="$(date +"-%b-%Y " )" '{ print $1date$2}'
해당 월을 대문자로 표시하려면 다음을 수행하세요.
echo 09-12:36:10 | awk -F '-' -v date="$(date +"-%b-%Y " )" '{ print toupper($1date$2)}'
답변2
이것이 얼마나 강력해야 하는지는 확실하지 않지만 이것이 시작입니다.
#!/usr/bin/awk -f
BEGIN {
FS = "-"
}
{
print $1 "-MONTH-YEAR", $2
}
답변3
GNU Awk( )가 있으면 gawk
내장 systime
및strftime
gawk -F'[-]' '{print $1, strftime("%b %Y", systime()), $2}'
전임자.
$ echo '09-12:36:10' | gawk -F'[-]' '{print $1, strftime("%b %Y", systime()), $2}'
09 Jul 2018 12:36:10
대문자로 된 약식 월이 필요한 경우 %^b
다음과 같이 시도하십시오.
$ echo '09-12:36:10' | awk -F'[-]' '{print $1 strftime("-%^b-%Y", systime()), $2}'
09-JUL-2018 12:36:10