날짜/타임스탬프 문자열을 자르는 방법은 무엇입니까?

날짜/타임스탬프 문자열을 자르는 방법은 무엇입니까?

그래서 나는 사용하고 있습니다

 TIMESTAMP=$( stat -c "%y" $JARNAME.jar )
 print $TIMESTAMP

출력은 다음과 같습니다2015-04-24 17:23:03.000000000 -0500

2015-04-24 17:23:03부분 만 필요해요

답변1

당신이 Linux 버전을 사용하고 있는 것 같으므로 GNU 버전 도 stat(1)사용하고 있다고 가정합니다 .coreutilsdate(1)

TIMESTAMP=$( date +'%Y-%m-%d %H:%M:%S' -r "$JARNAME".jar )

답변2

당신은 GNU stat단순히 사용할 수 있습니다포인트 수정자소개 문자 %와 형식을 지정하는 문자 사이에 1stat --printf "%.19y" filename (+ 필드 너비)이 있습니다. 예를 들어 귀하의 경우에는 다음과 같습니다.

TIMESTAMP=$(stat -c "%.19y" infile)

당신은 BSD/OSX stat그것을 사용할 수 있습니다 -f(체재) 그리고 -t(시간) 스위치:

TIMESTAMP=$(stat -f '%Sm' -t '%Y-%m-%d %H:%M:%S' infile)

1
점: 필드 너비와 함께 텍스트가 길어지면 필드가 확장되지 않고 잘립니다.

답변3

이 시도매개변수 확장:

echo "${TIMESTAMP%.*}"

산출:

2015-04-24 17:23:03

답변4

또는 잘라내기를 사용하십시오.

TIMESTAMP=$( stat -c "%y" $JARNAME.jar | cut -d. -f1 )
print $TIMESTAMP

관련 정보