ATND アテンド β PRODUCED BY RECRUIT

ログイン or 無料登録

福岡サテライト会場:第25回シェル芸勉強会

日時 :
2016/10/29 (土) 10:00 ~ 17:00
定員 :
12人
会場 :
ベータソフト様会議室(福岡県福岡市博多区博多駅前3丁目22−8 朝日生命博多駅前ビル 3F)
URL :
https://usptomo.doorkeeper.jp/events/44975
主催グループ :
Atnd latent シェル芸福岡
ハッシュタグ :
#usptomo

福岡サテライト会場:第25回USP友の会シェルワンライナー勉強会

お願い

15:00から17:00くらいの間で、会場のインターネット接続が使えなくなると連絡がありました。申し訳ありませんが、可能な方はWiFiルータやスマホのテザリングなどでの対応をお願いいたします。

概要

福岡サテライト会場9回目です。東京で開催される第25回シェル芸勉強会に、Youtubeライブでリモート参加します。今回も頭をグリグリゴリゴリスパルタ教育でこねくり回してご覧にいれます。と言っても、サポート重視でやりますのでご安心ください。

シェルのワンライナーで問題を解いていくスタイルです。コマンドラインでのテキスト処理を中心としたCUI操作は過去の遺産と思われがちです。しかしコンピュータに頑張ってもらうためのステキな素養だと信じております。情報処理の基本として入門しやすいため、プログラミングやデータ処理の初心者な方にも是非。

参加費は無料です。無線LAN有ですが、参加人数によっては同時アクセス制限で通信出来なくなる場合があるようです。Wifiルータ等をお持ちの方は持参を願いいたします。

東京の本家勉強会はこちら。
jus共催 第7回初心者の定義で大揉め午前のシェル勉強会/第25回もう4年もやってんのかシェル芸勉強会

大阪サテライト会場はこちら。
第25回シェル芸勉強会 大阪サテライト

日時

2016年10月29日(土)10:00〜18:00
09:30〜10:00 開場、準備など
10:00〜11:45 午前の部「初心者向けコマンド入門とApacheログ解析」
13:00〜16:00 午後の部「第25回シェル芸勉強会」
16:00〜17:00 LTなどあれば。後片付け。

場所

ベータソフト様会議室
所在地: 福岡県福岡市博多区博多駅前3丁目22−8 朝日生命博多駅前ビル 3F

連絡先

連絡はTwitterの @papiron 宛へ。

準備

初心者の方は、
@papiron
がサポートさせていただきます。玄人の方も大歓迎。怖くないよ。

  • 持ち物
    1. UNIX環境が利用できるノートPC(OSXなMacも可)
    2. おやつは300円まで
UNIX系OSが使えるパソコン
  • 各種LinuxやFreeBSD(VirtualBoxに入れても等もOK。日本語環境推奨。)
  • Mac(OS X以降ならOK)
  • Cygwin on Windowsでも大丈夫かも?
  • 今ならUbuntu on Windows10も?

準備して欲しいソフトウェア

GNU版のsed、awk、grepなどを使います。Linuxの主流なディストリビューションなら大丈夫。ユニケージ開発手法で利用されるTukubaiコマンドのオープンソース版、Open usp Tukubaiコマンドも入れておいた方がいいです。

  • GNU系のコマンド
    MacはBSD系なので、homebrewで下記をインストール。
    $ brew install coreutils
    $ brew install gnu-sed
    $ brew install gawk
    $ brew tap homebrew/dupes
    $ brew install homebrew/dupes/grep
    高速化したGNU grepをインストールする
    FreeBSDの場合はpkgでインストール。
  • Open usp Tukubai
    入手先は下記のリンクを参照。わからない場合はサポートさせていただきます。
    Open usp Tukubai
    gitが使える方は下記のようにインストール。sudoは必要に応じて。
    $ git clone git://github.com/usp-engineers-community/Open-usp-Tukubai.git
    $ cd Open-usp-Tukubai
    $ sudo make install
    Macの場合はHomebrewでインストール可。
    $ brew tap papiron/shelltool
    $ brew install papiron/shelltool/open-usp-tukubai
    FreeBSDの場合はpkgでインストール可(ただし古いバージョン)
    $ sudo pkg install open-usp-tukubai
  • その他便利なコマンド
    日本語やurlencodeなど扱うnkfコマンド
    $ brew install nkf (Mac)
    ファイルのハッシュ値計算するmd5sumコマンド
    $ brew install md5sha1sum (Mac)
    数値計算に便利なnumsumなどのコマンド
    $ brew install num-utils (Mac)
    $ sudo apt-get install num-utils (Ubuntu)
    JSON扱うjqコマンド
    $ brew install jq (Mac)
    $ sudo apt-get install jq (Ubuntu)
    ディレクトリ構造を表示するtreeコマンド
    $ brew install tree (Mac)
    $ sudo apt-get install tree (Ubuntu)
  • このコメントは全員が閲覧、すべてのログインユーザーが投稿することができます
OnTheMagellanVoyage
OnTheMagellanVoyage - (2016/10/23 (日) 21:03)
すいません、午前の部は出席できなくなりました(涙)
午後から参戦します!よろしくお願いします。
papiron
papiron - (2016/10/25 (火) 09:43)
15:00から17:00くらいの間で、会場のインターネット接続が使えなくなると連絡がありました。申し訳ありませんが、WiFiルータやスマホのテザリングなどでの対応をお願いいたします。
papiron
papiron - (2016/10/29 (土) 16:14)
$ seq 0 86399 | while read n; do gdate -d "2016-10-29 00:00:00 $n sec" '+%s'; done
$ for n in {0..86399}; do gdate -d "2016-10-29 00:00:00 $n sec" '+%s'; done
$ seq 0 86399 | xargs -I@ gdate -d '2016-10-29 00:00:00 @ sec' '+%s'
$ seq 0 86399 | sed "s/^
papiron
papiron - (2016/10/29 (土) 16:15)
$ seq 0 86399 | sed "s/^/gdate -d '2016-10-29 00:00:00 /" | sed "s/$/ sec' '+%s'/" | sh
papiron
papiron - (2016/10/29 (土) 16:43)
$ seq 0 86399 | sed -e "s/^/2016-10-29 00:00:00 /" -e "s/$/ sec/" | gdate -f - '+%s'
papiron
papiron - (2016/10/29 (土) 16:47)
$ seq 0 86399 | sed -e "s/^/2016-10-29 00:00:00 /" -e "s/$/ sec/" | gdate -f - '+%s' | gfactor | awk 'NF==2{print $2}'
papiron
papiron - (2016/10/29 (土) 17:02)
Q1解答
$ dig www.usptomo.com | grep -A1 ';; ANSWER SECTION:' | grep -v ';; ANSWER SECTION:' | awk '{print $NF}'
157.7.203.188

$ ping -c 1 www.usptomo.com | head -n 1 | awk '{print $3}' | tr -dc '0-9.'
157.7.203.188
papiron
papiron - (2016/10/29 (土) 17:06)
Q3解答
$ echo a | tee file
a

tashiro@tashiro-no-MacBook-Air:~/Downloads
$ echo a | cp /dev/stdin file
papiron
papiron - (2016/10/29 (土) 17:15)
Q5解答
$ while :; do echo -n '*'; sleep 1; done
*****************^C

$ yes | head | awk '{for(i=1;i<=NR;i++){printf "*"}print ""}' | sed "s/^/printf '/" | sed "s/$/\\\\r'; sleep 1/" | sh
papiron
papiron - (2016/10/29 (土) 17:17)
Q6解答
$ echo b730a730eb30b8820a00 | fold -w 2 | xargs -n 2 | awk '{print $2,$1}' | xargs | tr -d ' ' | xxd -p -r | nkf -W16
シェル芸
papiron
papiron - (2016/10/29 (土) 23:26)
開催レポートブログ記事書いておきました。
http://papiro.hatenablog.jp/entry/2016/10/29/225423
papiron
papiron - (2016/10/30 (日) 13:48)
Q2解答を修正、Linuxの場合。
$ yes ひらけ!ポンキッキ | head -n 9 | awk '{for(i=1;i<NR;i++){printf "#"}printf $0$0;print ""}' | tac | awk '{print substr($1,9,9)}'
papiron
papiron - (2016/10/30 (日) 13:49)
Q2解答を修正、MacやFreeBSDの場合。
yes ひらけ!ポンキッキ | head -n 9 | awk '{for(i=1;i<NR;i++){printf "#"}printf $0$0;print ""}' | tail -r | cut -c 9-17

コメントを投稿するには、ログインしてください。

掲載されるイベント情報は、利用者の皆様によりご提供いただくものであり、株式会社リクルートホールディングスは本情報の正確性や内容について、一切保証するものではございません。詳しくは利用規約をご参照ください。