дата означает недопустимую дату

В настоящее время у меня есть текстовый файл с разделителями табуляции, отформатированный следующим образом:

David Webb Box 34 Rural Route 2 Nixa MO 65714 (417)555-1478 555-66-7788 09-13-1970 Martha Kent 1122 North Hwy 5 Smallville KS 66789 (785)555-2322 343-55-8845 04-17-1965 Edward Nygma 443 W. Broadway Gotham City NJ 12458 (212)743-3537 785-48-5524 08-08-1987 

Я пытаюсь отформатировать даты, такие как September 13, 1970 вместо 09-13-1970

То, что я пытался сделать, – cut -f 9 file > tmpfile а затем использовать

date -f tmpfile "+%B %d, %Y" > date

но он продолжает говорить

 date: invalid date '09-13-1970' date: invalid date '04-17-1965' date: invalid date '08-08-1987' 

Что я делаю не так?

2 Solutions collect form web for “дата означает недопустимую дату”

Дата не принимает этот формат ввода, сначала поставите год, например, поток, редактирующий вход:

 cut -f 9 file | sed 's/\(..\)-\(..\)-\(....\)/\3-\1-\2/' > tmpfile 

Тестирование вручную:

 $ date --date '09-13-1970' "+%B %d, %Y" date: invalid date '09-13-1970' $ date --date '09/13/1970' "+%B %d, %Y" September 13, 1970 $ date --date '1970/09/13' "+%B %d, %Y" September 13, 1970 $ date --date '1970-09-13' "+%B %d, %Y" September 13, 1970 

Вот версия, использующая awk, которая не требует промежуточного файла.

 #!/bin/awk -f BEGIN {FS="\t"; OFS="\t"} { split($9,A,"-"); S1 = sprintf("%d %d %d 0 0 0",A[3],A[1],A[2]) D1 = strftime("%B %d, %Y", mktime(S1)) $9 = D1 print } 
  • Сообщение об ошибке скрипта в одной строке
  • Страницы страниц Paginate
  • Interesting Posts

    Сенсорный экран для ncurses, кроме мыши?

    Как назначить значения нескольким переменным в командной строке с барами

    Перемещение физических клавиш сенсорной панели на ThinkPad

    Как префикс значений столбца с апострофом (')?

    Проблемы зависимости при установке MySQL

    Как настроить пороги зарядки аккумулятора ноутбука?

    Установка последней версии gnuplot на Debian Stretch для одного пользователя

    Прерывание MSI в последовательном драйвере

    Почему никто не использует позиционные аргументы, доступные для функций завершения Bash?

    Как использовать один и тот же адаптер Wi-Fi для подключения к беспроводной сети и одновременно передавать AP?

    Должен ли я использовать трубопровод или перенаправление для ввода в «сортировку»,

    В чем разница между OSX, Linux и системой Windows?

    Возможно ли просматривать ресурсы samba в командной строке?

    сценарий оболочки для файлов с автосохранением

    Не удается войти в webmin на VPS

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