問題:/etc直下のファイル数、ディレクトリ数の合計を調べよ。
$ ls /etc | wc -l
ポイント:
lsは出力先がコンソールだと1行で表示されリダイレクトだと改行される。
以下で試すとわかる。
$ ls / | cat
問題:/etc直下のファイルをファイルサイズの大きい順に並べよ。
$ ls -l /etc | sort -rn -k 5
問題:/etc/passwdの7列目のみを表示せよ。
$ cat /etc/passwd | cut -d : -f 7
問題:/etc/passwdの7列目のみを重複を省いて表示せよ。
$ cat /etc/passwd | cut -d : -f 7 | sort | uniq
問題:/etc/passwdの7列目のみを重複を省いた上で、出現回数の多い順に表示せよ。
$ cat /etc/passwd | cut -d : -f 7 | sort | uniq -c | sort -rn
問題:/etc/passwdの列の区切り文字をカンマにして表示せよ。
$ cat /etc/passwd | tr : ,
問題:/etc/passwdの改行を削除して表示せよ。
$ cat /etc/passwd | tr -d "\n"
問題:output.logへの追記をリアルタイム表示して監視せよ。
$ tail -f output.log
問題:以下のコマンドの結果から2021.txtはどうなっているか想像せよ。
$ cat -n 2020.txt
1 Hokkaido
2 Kyoto
3 Okinawa
4 Tokyo
5 Kanagawa
6 Osaka
7 Nara
8 Nagano
9 Fukuoka
10 Ishikawa
$ diff 2020.txt 2021.txt
5d4
< Kanagawa
6a6,8
> Kanagawa
> Fukuoka
> Nagasaki
9d10
< Fukuoka
diffの結果はユニファイド形式の方が分かりやすい。
$ diff -u 2020.txt 2021.txt
--- 2020.txt 2023-12-19 17:46:17.502831155 +0900
+++ 2021.txt 2023-12-19 18:19:52.896839644 +0900
@@ -2,9 +2,10 @@
Kyoto
Okinawa
Tokyo
-Kanagawa
Osaka
+Kanagawa
+Fukuoka
+Nagasaki
Nara
Nagano
-Fukuoka
Ishikawa
答え:
$ cat -n 2021.txt
1 Hokkaido
2 Kyoto
3 Okinawa
4 Tokyo
5 Osaka
6 Kanagawa
7 Fukuoka
8 Nagasaki
9 Nara
10 Nagano
11 Ishikawa