У вас есть в основном два варианта.
- с использованием оболочки, l oop над каждой строкой в вашем файле, чтение каждой строки в переменную и вывод с датой в формате
+'%b%d %H:%M'
; или - с использованием GNU
awk
, создайте datepe c из каждой строки и переходите к mktime
, чтобы создать отметку времени , которую затем можно использовать с помощью strftime
для вывода формата "%b%d %H:%M"
.
Bash Solution
while read -r line; do
date -d "$line" +'%b%d %H:%M'
done < file
GNU awk Solution
awk '{
gsub(/[-:]/," ",$0) # remove '-' and ':'
ts=mktime($0 " 00") # add " 00" creating datespec, create timestamp
print strftime("%b%d %H:%M",ts) # output new date format
}' file
( примечание: mawk
, по крайней мере, начиная с версии 1.3.3, также поддерживает mktime
и strftime
)
Пример вывода
В обоих случаях вывод один и тот же:
Jan01 10:33
Jan01 14:04
Jan01 17:22
Jan20 14:04
Jan21 03:33
Jan22 14:06
Посмотрите вещи и дайте мне знать, если у вас есть дополнительные вопросы.