【問題のみ】第21回未経験者大歓迎!誰でも働けるアットホームな職場ですシェル芸勉強会

Sat Feb 13 14:01:10 JST 2016 (modified: Sat Sep 30 16:15:34 JST 2017)
views: 3042, keywords:コマンド,CLI,Linux,UNIX/Linuxサーバ,USP友の会,勉強会,シェル芸,シェル芸勉強会 この記事は最終更新日が6年以上前のものです。

解答はこちら。

問題で使うファイル等

GitHubにあります。ファイルは

https://github.com/ryuichiueda/ShellGeiData/tree/master/vol.21

にあります。

クローンは以下のようにお願いします。

$ git clone https://github.com/ryuichiueda/ShellGeiData.git

環境

今回はUbuntu Linuxで解答例を作りましたので、BSD系、Macな方は以下の表をご参考に・・・。

Mac,BSD系 Linux
gdate date
gsed sed
tail -r tac
gtr tr
gfold fold

イントロ

第21回シェル芸勉強会イントロ from 隆一 上田

補記

最近あまり本の宣伝をしていないのでシェルプログラミング実用テクニックから問題を持ってきました。

[amazonjs asin="4774173444" locale="JP" title="シェルプログラミング実用テクニック (Software Design plus)"]

Q1

ShellGeiData/vol.21/Q1のbba.pdfからテキストを抽出して標準出力に出してください。

Q2

次のデータはShift JIS(cp932)の固定長データです。

$ cat anydata.cp932 
   00000001??ӹ޷?ݺ?*******214413051100000002ʰ????ݸ*********114413018800000003???ӷ?ݺ?********210413093100000004??ݷ?ݺ?*********234413000800000005???ް??׳??޷?ݺ?331413090000000006??Э????ݾ޲??ݺ?1234130981

次のようなUTF-8のテキストに変換してください。

00000001ハナモゲギンコウ*******2144130511
   00000002ハードバンク*********1144130188
   00000003コドモギンコウ********2104130931
   00000004ハタンギンコウ*********2344130008
   00000005アンダーグラウンドギンコウ3314130900
   00000006バミューダメンゼイギンコウ1234130981
   

Q3

2016年の日曜日を全て列挙してください。

Q4

次のデータファイル

001 あみだばばあ
   002 砂かけばばあ
   003 ******
   004 尾崎んちのババア

に、次の新しいデータ

002 *******
   003 群馬のシャブばばあ
   005 純愛ババア学園

を反映して

001 あみだばばあ
   002 *******
   003 群馬のシャブばばあ
   004 尾崎んちのババア
   005 純愛ババア学園

というデータを出力してください。

Q5

GitHubのvol.21/Q5にある次の二つのシェルスクリプトのデバッグをしてください。

$ cat ./a.bash 
   #!/bin/bash
   
   echo Hell
   ###実行すると変なバグ###
   $ ./a.bash 
   ./a.bash: 行 1: #!/bin/bash: そのようなファイルやディレクトリはありません
   Hell
   $ cat b.bash 
   #!/bin/bash
   
   ls ˜/
   ###ホームディレクトリが表示されない###
   $ ./b.bash 
   ls: ˜/ にアクセスできません: そのようなファイルやディレクトリはありません

Q6

次の拡張正規表現をワンライナーで基本正規表現に変換してください。括弧の中の数字は数字の回数の文字列の繰り返しに展開してください。

$ cat extended 
   a+h{5}(ho){10}[0-9]+

Q7

GitHubのvol.21/Q7にあるテキストについて、各段落の文字数を数えてください。

Q8

GitHubのvol.21/Q8にある1350369599.Vfc03I4682c8M940114.remoteから添付ファイルを抽出して画像を復元してください。二つありますが別々に処理して構いません。

ノート   このエントリーをはてなブックマークに追加 
 

prev:SoftwareDesignで紹介した本の紹介 next:【問題と解答】第21回未経験者大歓迎!誰でも働けるアットホームな職場ですシェル芸勉強会

やり散らかし一覧

記事いろいろ