Solaris 날짜를 사용하여 2주 전 날짜를 얻는 방법은 무엇입니까?

Solaris 날짜를 사용하여 2주 전 날짜를 얻는 방법은 무엇입니까?

리눅스는 다음을 사용합니다:

date -d "2 weeks ago" +%b

솔라리스에서 이에 해당하는 것은 무엇입니까? , 온라인으로 검색했지만 찾을 수 없었습니다.

답변1

솔라리스는 date이것을 할 수 없습니다. AFAICT의매뉴얼 페이지, 임의의 날짜도 표시할 수 없으므로 에포크 이후 초 단위로 날짜를 가져오고 2주(14 * 86400 = 1209600초)를 뺀 다음 제공할 수 없습니다 date +%b.

가능하다면 GNU 날짜를 설치하세요. 루트 액세스 권한이 있는 경우 /usr/local/gnu/bin 또는 유사 항목에서 그렇게 할 수 있습니다(BTW, GNU Date를 포함한 GNU Coreutils는 Solaris용으로 사전 패키지되어 사용 가능)여기) 또는 사용할 수 없는 경우 ~/bin에 있습니다.

GNU 날짜를 설치할 수 없는 경우 차선책은 strftime()위의 계산을 수행하는 래퍼를 작성하거나 Perl 또는 Python으로 5줄 코드를 작성하는 것입니다. 둘 다 뛰어난 날짜 처리 라이브러리를 갖추고 있습니다.

답변2

gdate대신 그렇게 date하면 전통적인 Solaris 날짜 명령 대신 GNU 날짜가 제공됩니다. 이는 매우 오래된 버전의 Solaris(즉, Solaris 10 이하)를 사용하지 않는 한 작동합니다.

로컬 영역에 있는 경우 gdate전역 영역에서는 기본적으로 사용할 수 있음에도 불구하고 sysadm에서 이를 사용할 수 없다고 결정했을 수 있습니다. 이 경우에는 가서 그 사람이... (여기서 자신의 단어를 사용하십시오)라고 말하십시오.

더 많은 정보를 알고 싶다면:

Solaris 기본 설치(사용자 도구)

관련 정보