2014-11-12 3 views
0

나는 모든 제품 릴리스 절차를 자동화하기 위해 업무를 처리했습니다.Bash : 파일 수정 시간을 에포크로 변환하는 방법은 무엇입니까?

단계 중 하나는 회사의 온라인 프로세스를 중지하는 것입니다. 그렇게하려면 사내 코드화 된 Java 대시 보드에 로그인하고 특정 Java 작업을 중지해야합니다. tail -f 로그가없고 새로운 경우 데이터가 기록됩니다 - 시스템이 릴리스 절차를 시작할 준비가되었음을 의미합니다.

로그 파일의 마지막 수정 날짜와 시간을 찾기 위해 stat 명령을 사용하려고하지만 그 값으로 작업하기가 더 쉽도록하기 위해 Epoch 시간으로 변환하고 싶습니다. 어떻게 된거 야?

예를 들어 date [email protected]과 같은 반대 번역을 수행하는 방법을 알고 있습니다.

+0

대신 stat''의 사용 file + % s'은 Epoch 시간에 파일'file'의 수정 시간을 출력합니다. –

답변

1

이 시도 :

date --date="Wed Nov 12 14:59:24 CET 2014" +%s 

출력 될 것입니다 :

# 1415800764 

작품 많은 형식, 예를 들어,

date --date="12-NOV-14" +%s 
+0

그게 내가 사용했던 방법이다 :'date --date "$ date $ time"+ % s' –

3

이미 stat을 사용하고 있다면 원하는 출력을 제공하십시오. %Y 형식을 사용하십시오. `날짜 -r : 당신의`date`가`-r` 플래그를 지원하는 경우

그래서 대신

(또는 무엇이든)

$ stat c | grep ^Modify 
Modify: 2014-11-12 07:17:29.000000000 -0500 

사용

$ stat -c %Y c 
1415794649 
+1

+1, 그러나 올바른 옵션을 사용하려면'stat' 버전의 문서를 확인하십시오. BSD'stat'는'-c' 대신'-f'를 사용합니다. – chepner

관련 문제