#!/bin/bash
printf "DATE\tDATA\n"
offset=0
sed -n '2,$p' |
while read data; do
thedate=$( gdate -d "1900-01-01 + $offset days" +"%F" )
printf "%s\t%s\n" "$thedate" "$data"
(( ++offset ))
done
Этот небольшой скрипт запускается с
$ bash script.sh <data
DATE DATA
1900-01-01 1564
1900-01-02 1896
1900-01-03 1238
1900-01-04 1479
1900-01-05 1562
1900-01-06 1894
1900-01-07 1489
. Он печатает заголовок и пропускает первую строку ввода из входного файла (содержащего заголовок « DATA
» ).
Он вычисляет дату для текущей строки как смещение от 1900-01-01, используя GNU date
(которая в моей системе называется gdate
, если она вызывается просто ] date
в вашей системе, измените эту строку).
Затем он выводит вычисленную дату в правильном формате вместе с данными, считанными из ввода, в двух столбцах, разделенных табуляцией.