More Related Content More from Ryuichi Ueda (20) 20140614 【問題だけスライド】jus & USP友の会共催 シェルワンライナー勉強会@関西(第11回シェル芸勉強会)1. . . . . . .
前半戦(簡単な問題・基礎操作) 後半戦(応用、パズル)
.
.
. ..
.
.
シェルワンライナー勉強会@関西
(第 11 回シェル芸勉強会)問題集
主催: 日本 UNIX ユーザ会 & USP 友の会
会場: ECC コンピュータ専門学校
上田隆一
USP 友の会/産業技術大学院大学
※このスライドは勉強用に問題だけを抜粋したものです
June 14, 2014
June 14, 2014 1 / 12
2. . . . . . .
前半戦(簡単な問題・基礎操作) 後半戦(応用、パズル)
前半戦(簡単な問題・基礎操作)
全 4 問
簡単と言っておいて簡単であった試しはない
解答は Mac で作りました
Mac の方は brew install coreutils を
Linux、他の OS でのやり方も適宜解説
.
主なコマンド名の違い
..
.
. ..
.
.
Mac, BSD 系 Linux
gdate date
gsed sed
gawk awk
tail -r tac
gtr tr
gfold fold
前半戦(簡単な問題・基礎操作) June 14, 2014 2 / 12
3. . . . . . .
前半戦(簡単な問題・基礎操作) 後半戦(応用、パズル)
問題 1
次の echo の出力を、echo にパイプをつなげて
足し算してください。
.
.
. ..
.
.
uedambp:INPUT␣ueda$␣echo␣-12,135,123␣135,123
-12,135,123␣135,123
前半戦(簡単な問題・基礎操作) June 14, 2014 3 / 12
4. . . . . . .
前半戦(簡単な問題・基礎操作) 後半戦(応用、パズル)
問題 2
次のメモについて、各レコードが「名前 点数」の
順になるようにデータを整形しましょう。
.
.
. ..
.
.
uedambp:INPUT ueda$ cat score
45 鎌田
濱田 72
今泉 84
24 上田
94 斉藤
前半戦(簡単な問題・基礎操作) June 14, 2014 4 / 12
5. . . . . . .
前半戦(簡単な問題・基礎操作) 後半戦(応用、パズル)
問題 3
m/s に直してください。
1 マイル = 1.609km で演算を
.
.
. ..
.
.
uedambp:INPUT ueda$ cat speed
100km/h
16mph
前半戦(簡単な問題・基礎操作) June 14, 2014 5 / 12
6. . . . . . .
前半戦(簡単な問題・基礎操作) 後半戦(応用、パズル)
問題 4
さいとうさん、さわださん、ひろたさん、いとうさんの数を
数えてください。
.
.
. ..
.
.
uedambp:INPUT ueda$ cat name
斎藤 斉藤 沢田 澤田 伊藤
齋藤 齊藤 広田 廣田
前半戦(簡単な問題・基礎操作) June 14, 2014 6 / 12
7. . . . . . .
前半戦(簡単な問題・基礎操作) 後半戦(応用、パズル)
後半戦(応用、パズル)
初心者の方は上級者が苦しむ様子をお楽しみください。
後半戦(応用、パズル) June 14, 2014 7 / 12
8. . . . . . .
前半戦(簡単な問題・基礎操作) 後半戦(応用、パズル)
問題 5
次の CSV に書いてある数字を足し算してください。
.
.
. ..
.
.
uedambp:INPUT ueda$ cat csv
1,2,"123,456",-5,"-123,444"
6,7,8,"12",9
後半戦(応用、パズル) June 14, 2014 8 / 12
9. . . . . . .
前半戦(簡単な問題・基礎操作) 後半戦(応用、パズル)
問題 6
次のデータを行列として転置してください。
.
.
. ..
.
.
uedambp:INPUT ueda$ cat matrix
a b c
d e f
g h i
###出力###
uedambp:INPUT ueda$ ???
a d g
b e h
c f i
後半戦(応用、パズル) June 14, 2014 9 / 12
10. . . . . . .
前半戦(簡単な問題・基礎操作) 後半戦(応用、パズル)
問題 7
次の IPv6 の IP アドレスから、
省略された 0 を復元してください。
4 桁の頭のゼロは省略できる
.
.
. ..
.
.
uedambp:INPUT ueda$ echo 2001:db8:20:3:1000:100:20:3
2001:db8:20:3:1000:100:20:3
後半戦(応用、パズル) June 14, 2014 10 / 12
11. . . . . . .
前半戦(簡単な問題・基礎操作) 後半戦(応用、パズル)
問題 8
次の IPv6 の IP アドレスから、
省略された 0 を復元してください。
4 桁の頭のゼロは省略できる
1 回だけ、:0000:0000:と 0000
が続くところは:: と省略できる。
.
.
. ..
.
.
uedambp:INPUT ueda$ cat ipv6
2001:db8::1234:0:0:9abc
2001:db8:20:3:1000:100:20:3
2001:db8::9abc
後半戦(応用、パズル) June 14, 2014 11 / 12
12. . . . . . .
前半戦(簡単な問題・基礎操作) 後半戦(応用、パズル)
おわりに
おつかれさまでした!
少しずつ無理せず端末でできることを
増やしていきましょう
後半戦(応用、パズル) June 14, 2014 12 / 12