Sat Apr 5 17:50:21 JST 2014 (modified: Sun Oct 1 10:50:27 JST 2017)
views: 2739, keywords:セルリアンタワー,シェルリアンタワー,CLI,Linux,Mac,USP友の会,勉強会,シェル芸,シェル芸勉強会 この記事は最終更新日が7年以上前のものです。
【問題集】第10回シェル芸勉強会
他の回の問題はこちら
環境
Linuxで解答を作ったのでMacな方は次のようにコマンドの読み替えを。
Mac,BSD系 | Linux |
---|---|
gdate | date |
gsed | sed |
tail -r | tac |
gtr | tr |
gfold | fold |
Q1
次の数字の列を足し算してください。(できる人はなるべく変態的に)
echo 2 5 9 8 1 3 7 4
$ 2 5 9 8 1 3 7 4
Q2
スペースと数字と改行を使って次のようなファイルを作り、書いた数を足し算してください。
cat nums
$ 1
2 3
4 5
6 7
8 9
Q3
文字数を数えてください。改行記号は数えないでください。
ueda@remote:~$ cat genkou
筆者は朝、目玉焼きを食べた。
昼、著者は卵がけごはんを食べた。
そして夜、著者はマンハッタンの夜景を 見ながらゆで玉子を食べた。
Q4
次のようなファイルを作り、ファイルの中に三個存在する文字を出力してください。
ueda@remote:~$ cat hoge
aabbcdabbcccdd
Q5
次のようなファイル、ディレクトリを作ってください。そして、file1, file2, file3をカレントディレクトリに移動してください。
mkdir -p a/b/c
$ touch a/file1 a/b/file2 a/b/c/file3
$ tree
$ .
a
└── b
├── c
│ ├── file3
│ │ └── file2
│ └── file1
└──
3 directories, 3 files
Q6
次のようにファイルとディレクトリを作り、hogeと書いてあるファイルをディレクトリa、 それ以外のファイルをディレクトリbに振り分けてください。
echo hoge > file1
$ echo huge > file2
$ echo hoge > file3
$ echo hoge > file4
$ mkdir a b $
Q7
以下の9つのファイルについて、二つのファイルの組み合わせを全て列挙してください。ただし、重複してはいけません。
uedambp:~ ueda$ touch file{1..9}
uedambp:~ ueda$ ls file{1..9}
file1 file2 file3 file4 file5 file6 file7 file8 file9
出力例
file1 file2
file1 file3
file1 file4
file1 file5
file1 file6
file1 file7
file1 file8
file1 file9
file2 file3 <- file2 file1 の組み合わせは既出なので出力しない
file2 file4
file2 file5
file2 file6
...
Q8
0から999999までの数字の一様乱数を無限に出力し続けてください。