Как получить дату с двухнедельной давности с использованием даты Solaris?

Linux использует:

date -d "2 weeks ago" +%b 

что эквивалентно в Solaris ?, я искал в Интернете, но ничего.

  • Почему эта команда xargs не работает?
  • Запустить команду входа ssh без изменения удаленного .bashrc
  • Сценарий Bash для извлечения ключевых слов из текущего каталога
  • Выполнить такую ​​же операцию для нескольких пар файлов с похожими именами
  • Цикл через двоичные фрагменты данных из stdin в Bash
  • Parenthesis работает в оболочке bash, но не в скрипте bash
  • Псевдоним, похоже, не читается из STDIN
  • Простая, если команда не работает в скрипте csh
  • Заменить несколько строк в текстовом файле фиксированным шаблоном
  • привязать к строке с экранированными двойными кавычками
  • Понимание скрипта оболочки iptables
  • Транспонирование трехмерного тензора, воспроизводимого файлами
  • 2 Solutions collect form web for “Как получить дату с двухнедельной давности с использованием даты Solaris?”

    date Solaris не может этого сделать. AFAICT с man-страницы , он даже не может отображать произвольную дату, поэтому вы не можете просто получить дату в секундах с эпохи, вычесть 2 недели (14 * 86400 = 1209600 секунд), а затем дать это на date +%b .

    Если можно, установите дату GNU. Либо под / usr / local / gnu / bin, либо с аналогичным, если у вас есть root (BTW, GNU Coreutils, который содержит дату GNU, доступен для упаковки в Solaris здесь ) или в ~ / bin, если нет.

    Если вы не можете установить дату GNU, вашим следующим лучшим вариантом было бы написать оболочку вокруг strftime() чтобы выполнить упомянутый выше расчет, или написать 5-футовый в perl или python, оба из которых имеют отличные библиотеки обработки даты.

    Просто сделайте gdate вместо date . Это даст вам дату GNU, а не традиционную команду даты Solaris. Это будет работать, если вы не находитесь на очень старой версии Solaris, то есть Solaris 10 или раньше.

    Обратите внимание: если вы находитесь в локальной зоне, ваш системный администратор может решить, что gdate не должен быть доступен, несмотря на то, что он доступен по умолчанию в глобальной зоне. В этом случае скажите ему, что он … (используйте свое слово здесь).

    Чтобы получить больше информации:

    Установка по умолчанию Solaris (инструменты пользователя)

    Linux и Unix - лучшая ОС в мире.