Что означает tar -pcf?

Вы можете сделать это с помощью этой команды грубой силы sed :

sed 's/^.... //
     s/^Jan /01/; s/^Feb /02/; s/^Mar /03/; s/^Apr /04/; s/^May /05/; s/^Jun /06/
     s/^Jul /07/; s/^Aug /08/; s/^Sep /09/; s/^Oct /10/; s/^Nov /11/; s/^Dec /12/
     s/^\(..\) /\10/; s/^\(..\)\(..\)\( ........\) \(....\)./\4-\1-\2\3/'
  • s / ^ .... // удаляет [ и (трехбуквенное сокращение дня) дня недели.
  • s / ^ Jan / 01 / и т. Д. Заменяет (трехбуквенное сокращение названия) месяца (и следующий пробел) {{1} } с соответствующим числовым значением (номером месяца).
  • s / ^ \ (.. \) / \ 10 / проверяет значение даты (дня месяца) , которое является одной цифрой (т. Е. Число <10 с ведущий пробел) и заменяет его ведущим нулем. Например,
      [Сб, 3 сентября 09 3 0903
  • s / ^ \ (.. \) \ (. . \) \ (........ \) \ (.... \) ./ \ 4- \ 1- \ 2 \ 3 / преобразует оставшуюся дату / время строка от mmddHH: MM: SSYYYY ] до YYYY-mm-ddHH: MM: SS . (Если вы хотите, чтобы в выводе были начальные пробелы, как показывает ваш вопрос, добавьте их в эту команду.)

Примечания:

  • Это не обрабатывает ошибки. Если ввод не такой, как вы говорите, вывод будет зашифрован.
  • Это жестко кодирует названия месяцев на английском языке, и не адаптируется к языку.
2
24.11.2018, 21:50
0 ответов

Теги

Похожие вопросы