GNUとUnixのコマンド
「cat access.log | grep ERROR | sort | uniq -c | sort -rn | head -3」というコマンドパイプラインが行う処理の説明として正しいものはどれか。
- Aaccess.logの内容を3行ごとに区切ってERRORという文字列に置換する
- ✓access.logからERRORを含む行を抽出し、重複する行の出現回数を集計したうえで出現回数の多い順に並べ替え、上位3件を表示する
- Caccess.logから最初の3行だけを抽出し、それに対してERRORという文字列を検索する
- Daccess.logの行数が3行未満の場合にのみERRORという文字列を抽出して表示する
解説
grepでERRORを含む行を抽出し、sortで整列した後uniq -cで重複行をカウントし、sort -rnで出現回数の多い順に並べ替え、head -3で上位3件を出力するパイプラインである。
根拠GNUとUnixのコマンド - パイプとフィルタの利用(grep, sort, uniq, head)