我有一個數據象下面這樣:插入新行具有缺失值的一個陣列中的
2016-07-25:06 5
2016-07-25:07 1
2016-07-25:08 1
2016-07-25:09 2
2016-07-25:10 1
2016-07-25:11 1
2016-07-25:13 9
2016-07-25:14 1
在上述我應該顯示從00小時至直到23,象下面這樣:
2016-07-25:00 0
2016-07-25:01 0
2016-07-25:02 0
2016-07-25:03 0
2016-07-25:04 0
2016-07-25:05 0
2016-07-25:06 5
2016-07-25:07 1
2016-07-25:08 1
2016-07-25:09 2
2016-07-25:10 1
2016-07-25:11 1
2016-07-25:12 0
2016-07-25:13 9
2016-07-25:14 1
2016-07-25:15 0
2016-07-25:16 0
2016-07-25:17 0
2016-07-25:18 0
2016-07-25:19 0
2016-07-25:20 0
2016-07-25:21 0
2016-07-25:22 0
2016-07-25:23 0
能你請讓我知道我如何使用awk實現這一點?
謝謝!!!
您也可以使用流程替換。我會像'grep -vf <(cut -d「」-f1 datafile)''和'sort -n <(echo -e「$ {remaining}」)datafile'這樣的類型寫'grep'。 你有另一種解決方案,沒有'grep'和'uniq'查看第一個字符: 'sort -r <(for 0 in 0 {0..9} {10..23}; do echo「$ date:$我0「;完成)datafile | uniq -w 15 |排序' –
您可以通過'for {0..23}中的for使for for循環更容易;做printf「%s:%02d 0 \ n」$ date $ i; done','%02d'將在需要時添加一個零。 –
谷歌UUOC,谷歌棄用反引號,並閱讀[爲什麼使用一個shell循環處理文本考慮糟糕的做法](http://unix.stackexchange.com/questions/169716/爲什麼要使用shell循環處理文本被認爲是不好的練習)來理解一些但不是全部的不這樣做的原因。 –