GNU coreutils(8.6) 버전이 stat
변경되었습니까? 최근 업데이트 후, 호출 통계가 예상대로 작동하지 않는 일부 스크립트가 특히 를 사용하고 있습니다 stat -c %Y "${filename}"
. 이는 "Epoch" 이후의 마지막 수정 시간을 초 단위로 반환하도록 되어 있습니다. 그러나 나는 그것이 전체 정수의 형태를 취했었다고 맹세할 수 있었습니다. 그러나 이제 1287630625.956667227
대신 해당 형식에서 시작합니다 1287630625
. Bash는 부동 소수점 연산을 처리할 수 없기 때문에 이는 약간 짜증나는 일입니다. 의도적인 변화인가요? 아니면 버그인가요? 아니면 내 기억이 흐릿한 걸까? 이에 대한 정보를 검색해 보았으나 찾을 수 없었습니다.
답변1
stat: 전체 해상도로 타임스탬프를 인쇄합니다.coreutils-8.6에서 작업 중입니다.
$ 자식 클론 git://git.savannah.gnu.org/coreutils.git $ CD 코어 유틸리티 $ git log -1 --grep=time--src/stat.c 9069af45e691d1252c727da66aa4f3f3c7f1ea29 제출 저자: 에릭 블레이크 날짜: 2010년 9월 30일 목요일 16:42:13 -0600 stat: 전체 해상도로 타임스탬프를 인쇄합니다. * src/stat.c (epoch_time): 새로운 기능. (print_stat): %[WXYZ]에 사용합니다. * 뉴스: 이를 문서화하세요. * 테스트/터치/60초: 테스트를 일치하도록 조정합니다. *테스트/기타/통계 출생 시간: 마찬가지로. $ git 설명 --9069af4 포함 v8.6~29
답변2
이는 불필요한 파괴이며 coreutils
≥ 로 되돌아갑니다 8.7
.
그 시점부터 %.Y
소수 부분을 얻으려면 등을 지정해야 합니다.