我正在使用Bash shell。比較兩個文件,打印具有常見第一列和第二列的行並創建新表
我有兩個文本文件。
的第一個的第一行:
Datum Diffuse Radiation Global Radidation Direkte_Strahlung Minute
26.02.13 12:23 240,5 783,5 543 23
26.02.13 12:24 243,8 752 508,2 24
26.02.13 12:25 248,9 660 411,1 25
26.02.13 12:26 262,2 653,7 391,5 26
26.02.13 12:27 281,3 612,4 331,1 27
26.02.13 12:28 315,1 864,8 549,7 28
該第二文件的第一行:
Date Time (past local midnight) Solar Zenith Angle (deg) Cos_Zenitwinkel Luftmasse
26.02.13 0:00:00 161,7649831 -0,949780987 -1,052874308
26.02.13 0:06:00 161,7258048 -0,949566797 -1,053111801
26.02.13 0:12:00 161,5769749 -0,948749087 -1,054019459
26.02.13 0:18:00 161,3211217 -0,947328405 -1,055600143
26.02.13 0:24:00 160,9625742 -0,945305712 -1,057858836
兩個文本文件與製表符分隔。在第一個文件只是日期和小時之間的空間 - 我的問題是:我想從每個文件中得到這些行作爲輸出與普通日期&小時。
我的想法是逐行比較文件與命令,得到一個txt.file作爲輸出與所有日期&小時他們有共同點 - >common_date.file
。
然後我比較common_date.file
與第一個文件,並獲得一個新文件,只有common_date.file
的日期&小時(但整行打印!)。然後我對第二個文件做同樣的事情。
我知道有命令-diff
獲取兩個文件的區別。
我已經試過grep -F -x -f
但它也沒有工作。我認爲它應該與grep一起工作!
也許我解釋一下我的願望是這樣:
我想要得到的日期&小時他們所共有的兩個新文件。所以這兩個文件的長度是相等的,我可以用時間軸做一個繪圖。
這兩個文件有不同的時間格式。建議您使用您的預期數據提供更好的樣本數據。 – anubhava
問題是,當我在第一個文件中使用sed -e's = = \ t = g'時,它不會將\ t作爲製表符 - 所以我無法更改它。我嘗試了一些其他製表符,但沒有成功。 – Frosi
我會上傳數據併發布鏈接,好嗎? – Frosi