作為乙個linux的學徒,分享一下自己解決這個小問題的心得,在處理這個問題時使用了乙個小技巧感覺很適用,個人發覺linux的終端真滴是非常強大,下面就詳細地介紹這個問題以及解決辦法吧
問題描述:由於要分析登入ip所以有很多放有不同ip的日誌檔案,首先要將所有log檔案合併成乙個log檔案,並將每乙個ip最後一位修改為0,如,原ip為127.0.0.1,現ip為127.0.0.0
解決方法:使用linux終端命令
1、先合併多個日誌檔案為乙個日誌檔案:
cat test1.log test2.log test3.log > test.log
2、這裡的test.log包含了所有檔案的ip,如何將這些ip最後一位改為0呢,重點來了,起初我想用正規表示式修改,未果,遂用了乙個小技巧:
1> 先在當前目錄下新建乙個test_middle.log留著備用
2> cut -d. -f1,2,3 test.log > test_middle.log
3> cat test_middle.log 發現ip類似127.0.0 ,想必大家也知道上個shell語句的作用了吧,沒錯就是分詞,取前三段然後寫入到test_middle.log中
4> 再把test_middle.log 中每個ip末尾加上」.0」,然後再寫入到test.log即可,shell指令碼:sed 『s/$/&.0/g』 test_middle.log > test.log
3、刪除檔案的空行:sed -i 『/^\s*$/d』 test.log
4、去重排序:sort test.log | uniq(這樣排序內容只顯示在終端),如果要獲得修改後的內容,可以再寫入另外乙個檔案中,如,sort test.log | uniq > another.log !!!!!!!!!!!!重要
批量生成in資料檔案
生成in 資料 要取得 a,b 的隨機整數,使用 rand b a a 要取得 a,b 的隨機整數,使用 rand b a 1 a 要取得 a,b 的隨機整數,使用 rand b a a 1 通用公式 a rand n 其中的a是起始值,n是整數的範圍。要取得a到b之間的隨機整數,另一種表示 a i...
大資料檔案讀取方法
filepath 1.txt step 1024 1024 1m str r n start 0 i 1 count 0 do while i 1 echo count file get contents 讀取大檔案方法 param unknown patha 檔案路徑 param unknown ...
matlab 批量讀取資料檔案 mat dat
檔名如d00.dat,d01.dat,d21.dat filepath g traindata 資料夾的路徑 for i 1 3 n是要讀入的檔案的個數 load filepath d0 num2str i dat end迴圈讀取和繪製圖形 filepath g traindata 資料夾的路徑 f...