【問題のみ】jus共催 第32回全くインスタ映えしないシェル芸勉強会
Sat Dec 2 12:48:02 JST 2017 (modified: Sun Dec 3 17:46:19 JST 2017)
views: 10627, keywords:プログラミング,勉強会,シェル芸,シェル芸勉強会 この記事は最終更新日が6年以上前のものです。
- 解答付きのページはこちら
- 問題で使われているデータファイルはGitHubにあります。クローンは以下のようにお願いします。
git clone https://github.com/ryuichiueda/ShellGeiData.git $
- 環境: 解答例はUbuntu Linux 16.04 で作成。Macの場合はcoreutilsをインストールすると、GNUのコマンドが使えます。BSD系の人は 玄人なので各自対応のこと。
Q1
つぎのように1から9までの数を、間の数字を適当抜いてechoで出力します。
echo 14679
このechoの後ろにパイプでコマンドをつなぎ、次のように各数字を1行一個、抜けた数字の行を飛ばして出力してください。
1
4
6
7
9
Q2
Q1と同じ入力から始めて、今度は
1
a
b
4
c
6
7
d
9
というように、間をa,b,c,...と埋めてください。
Q3
/etc/services
から、TCPのポート番号が素数のサービス一覧を作ってください。
Q4
次のデータを
136
725 948
次のように並べ替えてください。
9
7
4
1
2
8
3
5
6
Q5
ウムラウトを含む単語だけ抽出してください。ワンライナー中にウムラウトを使用しないでください。
wäschst wash 山田x Schrödinger
y上田 Ö アイウエオ unko Übel Ärztin hoge カキクケコ
Q6
ツイッターの特定のアカウントについて、つぶやきがあるたびに「んほぉ!」と端末に表示するワンライナーを書いてください。
Q7
次のファイルについて、次の処理をやってください。
- ある数字について、上下左右の数字どれか1つに0が含まれる場合は0、そうでなければ1にする。
- 次に、上下左右の数字どれか1つに1が含まれる場合は1、そうでなければ0にする。
cat image.txt
$ 00010000000000001000000
00000000111111111110000
01111110011111111110001
00011110001111111111000
10011110001111111111000
00000001000000001000000
正解の出力を示します。
00000000000000001000000
00000000001111111100000
00001100011111111110000
00011110001111111111000
00001100000111111110000
00000000000000001000000
Q8
次のようなテキストについて、漢字やカタカナが行頭に来るように改行を入れるワンライナーを考えてください。ただし、「シェル芸」のようにカタカナ+漢字のものは1単語として扱い、改行を入れないでください。この問題については一般解を考えてみましょう。
cat japanese.txt
$
ん僕らは既に死んでいる 死んでいるからシェル芸だ。
出力を示します。最初の「ん」は独立した行に出力してください。
ん
僕らは
既に
死んでいる
死んでいるから
シェル芸だ。