「シェル操作課題」をやってみたよ
シェル操作課題 (cut, sort, uniq などで集計を行う) 設問編 - Yamashiro0217の日記
の問題をやってみたのです。
cat,パイプ,sort,cut,uniq,wc,sed,perl,awk,grep,head,tail,date,and so on
とのことなのでまあ、知ってる限りというか。Perlとかawk知らんのだけど。
環境:RedHat Enterprise Linux 5 / Ubuntu 12.04 LTS
Q1
$ cat aaa.txt server1,1343363124,30,/video.php server2,1343363110,20,/profile.php server3,1343363115,7,/login.php server1,1343363105,8,/profile.php server2,1343363205,35,/profile.php server2,1343363110,20,/profile.php server3,1343363205,30,/login.php server4,1343363225,12,/video.php server1,1343363265,7,/video.php
Q2
$ cat aaa.txt | cut -d ',' -f 1,4 server1,/video.php server2,/profile.php server3,/login.php server1,/profile.php server2,/profile.php server2,/profile.php server3,/login.php server4,/video.php server1,/video.php
Q3
$ cat aaa.txt | grep 'server4' server4,1343363225,12,/video.php
追記:
ん、cat必要ないな。
$ grep 'server4' aaa.txt server4,1343363225,12,/video.php
Q4
$ cat aaa.txt | wc -l 9
Q5
調べないとわかんない……
追記:
sortってカラム指定できるのかー。知らなかった。
cat aaa.txt | sort -k 3 | head -n 5 server1,1343363105,8,/profile.php server1,1343363124,30,/video.php server1,1343363265,7,/video.php server2,1343363110,20,/profile.php server2,1343363110,20,/profile.php
しかしsort --helpしてもいろんなサイト見ても、-kの説明がなに言ってるのか意味がわからない。
でも想定期待結果みたいにならない。よくわからん。
Q6
$ cat aaa.txt | cut -d ',' -f 1,3 | sort | uniq | wc -l 8
Q7
$ cat aaa.txt | cut -d ',' -f 3 | sort | uniq | wc -l 6
Q8
調べないとわかんない……
Q9
調べないとわかんない……