shell筆試題

1,統計處nginx日誌中的IP地址,並統計處每個ip地址的次數。並從大到小排列

cat access.log | awk ‘{print $1}’ | sort | uniq -c | sort -nr | less
解答:首先nginx的ip地址在日誌的第一列,可以通過awk取出第一列的值,其次進行排序,發現很多每個重複的ip地址,因爲uniq的操作必須是先排序的數列,uniq去除重複的並統計個數,這是發現每個IP地址的訪問次數已經統計處理,但是沒有排序,這是在按從大到小進行排序。less使用分頁顯示。
2,(1)找出目錄/test下所有的.log文件
(2)找出目錄/test下所有的.log文件,並且打印這些文件內容。
解答:(1) find /test -name “*.log”
(2) find /test -name “*.log” | xargs cat
3,使用shell實現以下任務,假設有一個文件a.log,它的每一行用空格分開成爲4字段,其中第二段表示日期,格式爲”yyyy-mm-dd”,找出時間在2010-11-08到2010-12-20閉區間內的數據行,且只打印第1字段和第3字段
解答:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章