有10GB的大日誌文件,並格式化獨特的價值如下:高效的方式來獲得從日誌文件中
node123`1493000000`POST /api/info`app_id=123&token=123&sign=abc
node456`1493000000`POST /api/info`app_id=456&token=456&sign=abc
node456`1493000000`POST /api/info`token=456&app_id=456&sign=abc
node456`1493000000`POST /api/info`token=456&sign=abc&app_id=456
現在我想從日誌文件中唯一app_ids。例如,日誌文件的預期效果上面應該是:
123
456
我做到這一點與shell腳本awk -F 'app_id=' '{print $2}' $filename | awk -F '&' '{print $1}' | sort | uniq
,以及有沒有更有效的方法?
你的意思是獲取'app_id = 123'還是包含'app_id'的整行? – dawg
您的示例非常糟糕,您需要唯一的輸出,但不會在目標輸入值中顯示任何嘟嘟聲,並且您在每行上多次使用相同的值。最終的結果是,我們可以針對您的示例輸入運行腳本,這是完全錯誤的,它會產生與腳本相同的輸出,並且最終您根本沒有向我們展示任何預期的輸出,所以它們都只是無論如何猜測工作!閱讀[問],然後用[mcve]再次嘗試,其中包含簡明,可測試的採樣輸入和預期輸出。 –