Mam datę jak „2014-01-30 05:04:27 GMT”, a jeśli uruchomię date -d „2014-01-30 05:04:27 GMT”, dane wyjściowe znajdują się w strefie czasowej mojego serwera („czw. 30 stycznia 16:04:27 EST 2014 ”).
Za pomocą grep i cut wyodrębniłem datę w GMT z pliku. Jednak staram się przekonwertować to na czas lokalny.
Na przykład:
[użytkownik @ dziennik serwera] # grep „coś” logfile.txt | grep „Udało się” | cut -f1 -d '['
Wyjście: 30.01.2014, 05:04:27 GMT
Co mogę dodać na końcu, aby przekazać ten wynik do „date -d”?
Podjęto próbę:
- [użytkownik @ dziennik serwera] # grep „coś” logfile.txt | grep „Udało się” | cut -f1 -d '[' | data -d
- [użytkownik @ dziennik serwera] # grep „coś” logfile.txt | grep „Udało się” | cut -f1 -d '[' | data
- [użytkownik @ dziennik serwera] # grep „coś” logfile.txt | grep „Udało się” | cut -f1 -d '[' | data -d „1 $”
Jeśli używasz daty GNU z wystarczająco nowego coreutils,
date -f
na ekranie pomocy jest:Więc twoja próba 4 mogła być:
ostatnie
-
oznacza stdin.źródło
dategrep
dla tego konkretnego przypadku użycia.