Sed: zmiana w plikach z wykorzystaniem zapamiętywania wzorców (inline):

Problem:
Piszę sobie hobbystycznie małą aplikację to zarządzania domowymi urządzeniami. Jednym z nich jest Arduino z podczepionymi czujnikami temperatury i natężenia światła. Dane z czujników są zapisywane na karcie SD. Na początku format daty ustaliłem sobie dość dowolnie i wyglądał on tak:

10/07/13-20:03:23 photo:49

Jednak w trakcie pisania aplikacji doszedłem do wniosku iż potrzebuję nastepujący format daty:

2013-10-07 19:53:58 photo:399

Rozwiązanie:
Rozwiązaniem okazała się jednolinijkowa komenda sed-a:


sed -i -r 's/([0-9]+)\/([0-9]+)\/([0-9]+)\-/20\3-\1-\2 /' photo_all_*.txt

Opcja -i powoduje nadpisanie pliku, -r włącza wyrażenia regularne.

Dodaj komentarz