Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

シェルスクリプトワークショップ資料 - 上級者向け「シェル芸」

15,852 views

Published on

シェルスクリプトワークショップ資料です。

Published in: Engineering
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ...................................ALL FOR EBOOKS................................................. Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ...................................ALL FOR EBOOKS................................................. Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ...................................ALL FOR EBOOKS................................................. Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THAT BOOKS/FILE INTO AVAILABLE FORMAT - (Unlimited) ......................................................................................................................... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes Christian, Classics, Comics, Contemporary, Cookbooks, Art, Biography, Business, Chick Lit, Children's, Manga, Memoir, Music, Science, Science Fiction, Self Help, History, Horror, Humor And Comedy, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

シェルスクリプトワークショップ資料 - 上級者向け「シェル芸」

  1. 1. http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 1 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 jus 勉強会 シェルスクリプトワークショップ 「シェル芸」を極める 日本 GNU AWK ユーザー会 斉藤 博文
  2. 2. http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 2 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 はじめに
  3. 3. 自己紹介  「日本 GNU AWK ユーザー会」会長  http://gauc.no-ip.org/awk-users-jp/  hi_saito@yk.rim.or.jp  @hi_saito  USP Magazine, Codezine に連載中 http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 3 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 2 日間、よろしくお願いします
  4. 4. 勉強会で重要なこと  質問しよう  積極的に質問をしてください  振り返ろう  手を動かして実際に試そう  大したことないことを分かろう  自分もいつかは講師をしよう http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 4 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 特に難しいことは話しません
  5. 5. 他の講義とダブる?  それは基本だからです  それは重要だからです  それは間違えやすいからです http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 5 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 単に整合が取れていない言い訳かもしれません
  6. 6. http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 6 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 シェル芸
  7. 7. シェル芸とは?  シェル芸とは、現代においてもっとも過激と 目される CLI ワンライナー原理主義の一派。 武田久美子を教祖とし、夏になると信者は女 も男も老いも若きも貝がらビキニで海辺を ホーミタイする危険な思想である。  アンサイクロペディア http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 7 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 ネタが古くて 30 代後半でないと分からない上、違います!
  8. 8. シェル芸とは?  マウスも使わず、ソースコードも残さず、GUI ツールを立ち上げる間もなく、あらゆる調 査・計算・テキスト処理を CLI 端末へのコマ ンド入力一撃で終わらすこと。  シェル芸の定義バージョン 1.0 http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 8 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 「USP 友の会」の上田会長の定義です
  9. 9. http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 9 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 今回のテーマ
  10. 10. 今回のテーマはファイル  ファイルを拡張子で判断しない  file コマンドが便利です  ファイルのコピーや移動はどうすれば良いか  実行前に確認できるようにする  ファイルから必要な部分だけを抜き出す  HTML, XML の扱いはどうすれば良いか http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 10 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 今までのシェル芸勉強会にないネタです
  11. 11. 重要なこと  できなくても構いません  得意、不得意があります  答えが違っても構いません  TIMTOWTDI の精神でやりましょう  手を動かしてください  頭ではなく手を動かしてください http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 11 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 頭もフル活用してください
  12. 12. 最初に  以下のファイルを落としてください  http://gauc.no-ip.org/~hi_saito/jus/jus_sample.tar.gz http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 12 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 できれば、CLI でお願いします $ mkdir jus $ cd !$ $ wget http://gauc.no-ip.org/~hi_saito/jus/jus_sample.tar.gz $ tar xzvf jus_sample.tar.gz List: CLI での落とし方
  13. 13. 問題のツリー http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 13 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 できれば、CLI でお願いします jus_sample/ +--- all/ | +--- test_01.jpg | +--- test_02.jpg | +--- test_01.png | +--- test_02.png | +--- test_01.txt | +--- test_02.txt | +--- test_01.html | +--- test_02.html +--- images/ +--- text/ +--- thumbnail/ List: 問題のディレクトリ構造 確認してください
  14. 14. http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 14 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 問題 (6 問あります)
  15. 15. 問題 1  画像ファイルだけを images/ ディレクトリに 移動してください  拡張子だけで判断しないでください http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 15 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学
  16. 16. 解答例 1 http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 16 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 $ find -type f | xargs file | grep 'image' | awk -F':' '{print $1, $1}' | awk '{sub(/all/, "images", $2); print $0}' | awk '{print "mv " $0}' | sh List: 解答例 1  xargs コマンドの使い方を知ろう  file コマンドでファイル種類を判別  確認後に最後に Shell に渡して実行 Demo
  17. 17. 問題 2  テキストファイルだけを text/ ディレクトリ にコピーしてください  拡張子だけで判断しないでください http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 17 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学
  18. 18. 解答例 2 http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 18 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 $ find -type f | xargs file | grep 'text' | awk -F':' '{print $1, $1}' | awk '{sub(/all/, "text", $2); print $0}' | awk '{print "cp " $0}' | sh List: 解答例 2  xargs コマンドの使い方を知ろう  file コマンドでファイル種類を判別  確認後に最後に Shell に渡して実行 Demo
  19. 19. 問題 3  画像を 32 x 32 ピクセル PNG 形式に変換して thumbnail/ ディレクトリに作成してくださ い  拡張子だけで判断しないでください http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 19 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学
  20. 20. 解答例 3 http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 20 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 $ find images/ -type f | awk '{print $1, $1}' | sed 's: images: thumbnail:' | sed 's:^:convert -geometry 32x32! :' | sed 's:$:.png:' | sh List: 解答例 3  sed の区切りは "/" ではなく、":" が便利  確認後に最後に Shell に渡して実行 Demo
  21. 21. 問題 4  test_01.html, test_02.html のタイトルを 抜き出してください  改行の有無をどうするかがポイントです http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 21 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学
  22. 22. 解答例 4 http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 22 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 $ find text/ -type f | xargs file | grep 'HTML' | awk -F':' '{print $1}' | xargs -n 1 cat | tr -d 'n' | grep -Eoi '<title>[^<]+</title>' | sed -r 's:</?[^>]+>::g' List: 解答例 4  XML, HTML は一旦改行を正しく付け直す  sed の区切りは "/" ではなく、":" が便利 Demo
  23. 23. 問題 5  test_01.html, test_02.html の HTML タ グを削除してください  改行の有無をどうするかがポイントです http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 23 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学
  24. 24. 解答例 5 http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 24 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 $ find text/ -type f | xargs file | grep 'HTML' | awk -F':' '{print $1}' | xargs sed -r 's:</?[^>]+>::g' | awk 'NF' List: 解答例 5  sed での最小一致を学ぼう  sed の区切りは "/" ではなく、":" が便利  余計な改行は AWK で削除 Demo
  25. 25. 問題 6  できあがった階層構造をツリー表示してくだ さい  tree コマンドは使用禁止です http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 25 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学
  26. 26. 解答例 6 http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 26 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 $ find | sort | tr '/' ' ' | sed -r 's:[^ ]+[ ]: +--- :g' | sed -r 's:--- : :g' | sed -r 's:[ ]+[ ]: | :g' List: 解答例 6  sed は GNU 拡張が便利 Demo
  27. 27. 問題 X  以下の住所を横書きで TTF 化してください  鳥取県鳥取市,若葉台北1-1-1,鳥取環境大学  いわゆる宛名書きです http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 27 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学
  28. 28. 解答例 X http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 28 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 $ echo '鳥取県鳥取市,若葉台北1-1-1,鳥取環境 大学' | sed 's:$:様:' | tr ',' 'n' | convert -pointsize 40 -font aoyagikouzanfont2.ttf label:@- jusyo.png List: 解答例 X  覚える必要はありません。 Demo
  29. 29. 問題 XX  以下の住所を縦書きで TTF 化してください  鳥取県鳥取市,若葉台北1-1-1,鳥取環境大学  いわゆる宛名書きです http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 29 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学
  30. 30. 解答例 XX http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 30 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 $ echo '鳥取県鳥取市,若葉台北1-1-1,鳥取環境 大学' | sed 's:$:様:' | tr ',' 'n' | tac | xargs -n1 -I% sh -c ' echo "%" | grep -o '.' | convert -pointsize 40 -font sazanami-mincho.ttf label:@- miff:-' | convert - +append jusyo.png List: 解答例 XX  覚える必要はありません。 Demo
  31. 31. http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 31 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 質問はありますか?
  32. 32. http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 32 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 ご清聴ありがとうございました

×