날짜 형식에 문제가 있습니다. 한 형식에서 다른 형식으로 또는 그 반대로 변경하고 싶습니다. 내 날짜 형식은 다음과 같습니다.
형식 1
YYYY-MM-DD
형식 2
MM/DD/YYYY
format1을 format2로, format2를 format1로 변경하고 싶습니다.
답변1
이렇게 하려면 GNU "date"를 사용하세요. 또한 다른 형식 간에도 변환됩니다( date --help
형식 목록 참조).
$ date -d 2013-07-05 +%m/%d/%Y
07/05/2013
$ date -d 07/05/2013 +%F
2013-07-05
답변2
변환해야 하는 텍스트 형식의 날짜가 있다고 가정합니다.
echo '2013-12-13' | awk -v FS=- -v OFS=/ '{print $2,$3,$1}'
그 반대로
echo '12/13/2013' | awk -v FS=/ -v OFS=- '{print $3,$1,$2}'
답변3
$ echo YYYY-MM-DD | { IFS=- read y m d && echo "$m/$d/$y"; }
MM/DD/YYYY
파일에 다음 날짜가 많이 포함되어 있는 경우 한 줄에 하나씩:
awk -F- -vOFS=/ '{print $2,$3,$1}' < that-file
답변4
sed를 다음과 같이 사용하세요:
$ echo '2013-12-13' | sed -r 's/([[:digit:]]{2,4})-([[:digit:]]{1,2})-([[:digit:]]{1,2})/\2\/\3\/\1/g'
12/13/2013
$ echo '12/13/2013' | sed -r 's/([[:digit:]]{1,2})\/([[:digit:]]{1,2})\/([[:digit:]]{2,4})/\3-\1-\2/g'
2013-12-13