Mam następujący plik party.txt
które zawierają coś jak następuje:Jak czerpać aktualną datę i czas i dołączyć na końcu każdej linii, które zawierają „Hello”
Hello Jacky
Hello Peter
Bye Johnson
Hello Willy
Bye Johnny
Hello Mary
Hello Wendy
użyłem grep hello
uchwycić zawierają, ale kiedy używam print date +"%Y-%m-%d'
i dołączam do niego, nie mogę i otrzymam wiele 0
w linii.
cat party.txt | grep Hello | awk '{ print date +"%Y-%m-%d"}'
Co mogłem być brakuje?
W połączeniu z odpowiedzią danfuzz będzie prawie idealnie. – Jack
Problem z tym rozwiązaniem polega na tym, że data jest ustawiona tylko jeden raz. jeśli masz plik (lub strumień), który zajmuje kilka sekund lub minut, aby parsować, każdy wpis będzie miał dokładnie tę samą datę/znacznik czasu. Również awk nie jest uniwersalnym poleceniem, które obsługuje -v, nawk. w systemie Solaris to nie zadziała, ale jeśli zastąpisz awk nawk, to zadziała, możesz również użyć gawk (zgodnej z POSIX/GNU). Preferuję odpowiedź Alina, która działa na wszystkich wersjach awk i systemach operacyjnych (pod warunkiem, że awk jest zamieniany na gawk). – Armand