までのtable.txt
時系列を含むプレーンテキストテーブル()がいくつかあります。残念ながら、そのうちのいくつかは、次のように時系列の最後の日が欠落しています。2005
2099
31.12.2099
YEAR MONTH DAY RES
2005 1 1 1000
2005 1 2 1001
[...]
2099 12 29 1002
2099 12 30 1003
前日の値()を貼り付けて時31.12.2099
系列()に欠落している日付を追加するには?RES
提供された最小例を考慮すると、出力は次のようになります。
YEAR MONTH DAY RES
2005 1 1 1000
2005 1 2 1001
[...]
2099 12 29 1002
2099 12 30 1003
2099 12 31 1003
ベストアンサー1
そしてawk
:
awk '{a=$0}1; END{$0=a; if($1==2099&&$2==12&&$3==30){$3=31;print}}' file | column -t
r=$0
変数をa
完全な行に設定します。1
すべての行の実際の条件を印刷します。END{...}
すべての行が処理されたら、このブロックを実行します。$1==2099&&$2==12&&$3==30
最後の行が2099年12月30日の場合(13行目がありません)$3=31
日付を次に設定してください。31
print
追加の行を印刷します。
column -t
リストを整理することです。
入力ファイルの結果:
YEAR MONTH DAY RES
2005 1 1 1000
2005 1 2 1001
...
2099 12 29 1002
2099 12 30 1003
2099 12 31 1003