實現對nginx的訪問ip進行統計,出現出重不成功;
shell: cat access.log | awk 『』 | uniq -c
原因:因為uniq去重只對相鄰的資料進行迭代處理,當遇到相鄰的資料不重複時,就會該處的資料加一,進行新的迭代處理。
演算法過程如下
key = 1
uniq(file, key):
if line[key] == line[key+1]:
刪除line[key+1],移動後續行
uniq(file,1)
else :
uniq(file, key+1)
所以對檔案資料進行去重處理時,先對檔案的資料進行排序,然後再進行去重處理:
#輸出訪問量排名前10的ip位址和訪問量
cat test.txt | sort | uniq -c | sork -rn | head -l
shell不排序去重
一條命令搞定 awk a 0 file 如果是第一次出現a 0 的值為0 假 而 a 0 的值就為1 真 之後就執行print 0 第二次或者兩次以上的出現a 0 的值就為大於0的整數值 真 例如1,2,3.而 a 0 的值就為0 假 之後就不執行print 0操作 awk 0 in a patte...
斷點不生效
我是單獨某乙個cpp檔案裡的斷點不生效了,工程內其他cpp檔案斷點還仍然生效!是由於我debug執行時候修改了該cpp檔案導致的。工具 選項 除錯 要求原始檔與原始版本完成匹配 去掉勾 require source files to exactly match the original versio...
gitignore 不生效問題
在git中如果想忽略掉某個檔案,不讓這個檔案提交到版本庫中,可以使用修改根目錄中 gitignore 檔案的方法 如無,則需自己手工建立此檔案 這個檔案每一行儲存了乙個匹配的規則例如 1 2 3 4 5 6 7 此為注釋 將被 git 忽略 a 忽略所有 a 結尾的檔案 lib.a 但 lib.a ...