Получение эпохального времени из строки даты - PullRequest
0 голосов
/ 05 июня 2018

У меня есть процесс, который выводит дату, подобную этой (обратите внимание на заполнение перед днем ​​(4):

Mon Jun  4 17:53:42 2018

Я хочу получить эпохальное время, поэтому я попытался:

echo "Mon Jun  4 17:53:42 2018" | xargs -0 date -j -f "%a %b %d %T %Y" +%s

Это работает , но я остаюсь раздражающим:

Warning: Ignoring 1 extraneous characters in date string (
)

Я могу жить с предупреждением, но я попытался удалить двойнуюинтервал с sed:

echo "Mon Jun  4 17:53:42 2018" | sed -E 's/\ +/\ /g'

, который возвращает:

Mon Jun 4 17:53:42 2018

Но когда я пытаюсь передать это в формат даты, я снова получаю предупреждение (как будто sed неделает свое дело).

1 Ответ

0 голосов
/ 05 июня 2018

Проблема была не в пробелах, а в новой строке.Я удалил sed и заменил tr -d "\n", чтобы удалить оскорбительный символ:

echo "Mon Jun 4 17:53:42 2018" | tr -d "\n" | xargs -0 date -j -f "%a %b %d %T %Y" +%s

...