Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
シェルで繰り返し処理
Search
papiron
April 30, 2016
Technology
0
550
シェルで繰り返し処理
第22回シェル芸勉強会の午前の部で、福岡サテライト独自にやった初心者向けの内容です。
papiron
April 30, 2016
Tweet
Share
More Decks by papiron
See All by papiron
第45回シェル芸勉強会へようこそ
papiron
0
610
第44回シェル芸勉強会へようこそ
papiron
0
390
ワンライナーに便利なコマンド
papiron
0
410
第38回シェル芸勉強会へようこそ
papiron
0
480
第37回シェル芸勉強会へようこそ
papiron
0
430
第29回シェル芸勉強会へようこそ
papiron
0
780
第28回シェル芸勉強会へようこそ
papiron
0
1.1k
テキストデータの連結
papiron
0
1.2k
第27回シェル芸勉強会へようこそ
papiron
0
750
Other Decks in Technology
See All in Technology
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
280
AIエージェント開発用SDKとローカルLLMをLINE Botと組み合わせてみた / LINEを使ったLT大会 #14
you
PRO
0
110
Snowflake Intelligenceにはこうやって立ち向かう!クラシルが考えるAI Readyなデータ基盤と活用のためのDataOps
gappy50
0
180
2つのフロントエンドと状態管理
mixi_engineers
PRO
3
100
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
470
データアナリストからアナリティクスエンジニアになった話
hiyokko_data
2
450
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
540
要件定義・デザインフェーズでもAIを活用して、コミュニケーションの密度を高める
kazukihayase
0
110
AI開発ツールCreateがAnythingになったよ
tendasato
0
130
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
230
Language Update: Java
skrb
2
290
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
560
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
A better future with KSS
kneath
239
17k
Embracing the Ebb and Flow
colly
87
4.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
For a Future-Friendly Web
brad_frost
180
9.9k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building Adaptive Systems
keathley
43
2.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Practical Orchestrator
shlominoach
190
11k
Fireside Chat
paigeccino
39
3.6k
Transcript
γΣϧͰ܁Γฦ͠ॲཧ USP༑ͷձ @papiron
܁Γฦ͠ॲཧ • ίϯϐϡʔλͷಘҙٕ • σʔλॲཧͷجຊ • ϓϩάϥϛϯάݴޠʹඞͣࡌ
܁Γฦ͠ॲཧ • γΣϧεΫϦϓτͰʁ • ϫϯϥΠφʔͰʁ • ϑΟϧλͱʁ • ߴॲཧ͢Δʹʁ
͓ ӈͷΑ͏ͳ ࿈ଓ͢ΔจࣈྻΛ ग़ྗΛ͢Δํ๏Λ ߟ͑ͯΈΔ ༽͕1ඖ ༽͕2ඖ ɾɾ ɾɾ ༽͕99ඖ
༽͕100ඖ
੍ޚߏΛ͏(1) $ n=1;while [ $n -le 100 ]; do echo
'羊 が'$n'匹'; n=`expr $n + 1`; done 羊が1匹 羊が2匹 .. .. 羊が99匹 羊が100匹 γΣϧͰ੍ޚߏ͕͑Δ whileϧʔϓͰ܁Γฦ͠ॲཧ
੍ޚߏΛ͏(1) #!/bin/sh n=1 while [ $n -le 100 ] do
echo '羊が'$n'匹' n=`expr $n + 1` done ϫϯϥΠφͰݟʹ͍͘ͷͰ γΣϧεΫϦϓτͰهࡌ
ྻσʔλ࡞ͷํ๏ $ seq 1 100 1 2 .. 100 bashͷϒϨʔεల։
Λ͏ $ echo {1..100} 1 2 3 .. 99 100 seqίϚϯυΛ͏
੍ޚߏΛ͏(2) $ for n in `seq 100`; do echo '羊が'$n'匹';
done $ for n in {1..100} ; do echo '羊が'$n'匹'; done 1͔Β100ͷྻΛ४උ ܁Γฦ͠ॲཧforϧʔϓΛ༻ `seq 100`γΣϧͷίϚϯυஔػೳ
੍ޚߏΛ͏(2) #!/bin/sh for n in `seq 100` do echo '羊が'$n'匹'
done ϫϯϥΠφͰݟʹ͍͘ͷͰ γΣϧεΫϦϓτͰهࡌ
੍ޚߏΛ͏(3) $ seq 100 | while read n; do echo
'羊が'$n'匹'; done 1͔Β100ͷྻΛ४උ ܁Γฦ͠ॲཧͷwhileϧʔϓʹύΠϓଓ
੍ޚߏΛ͏(3) #!/bin/sh seq 100 |\ while read n do echo
'羊が'$n'匹' done ϫϯϥΠφͰݟʹ͍͘ͷͰ γΣϧεΫϦϓτͰهࡌ
xargsΛ͏(1) $ seq 100 | xargs printf '羊が%d匹\n' 1͔Β100ͷྻΛ४උ xargsʹύΠϓଓͯ͠printfίϚϯυ
printf '羊が%d匹' 1 2 3 4 .. 99 100 ࣮࣭ԼهͷίϚϯυ͕࣮ߦ ܁Γฦ࣮͠ߦ͕ແ͍ͨΊߴॲཧ͕ظ
xargsΛ͏(2) $ seq 100 | xargs -I@ echo '羊が@匹' 1͔Β100ͷྻΛ४උ
xargsͷ-IΦϓγϣϯΛར༻ echo '羊が1匹' echo '羊が2匹' .. echo '羊が100匹' ࣮࣭ӈهͷίϚϯυ͕ ࣮ߦ͞Ε͍ͯΔ
γΣϧʹίϚϯυྻΛ $ seq -f 'echo 羊が%g匹' 100 | sh ԼهͷΑ͏ͳίϚϯυྻΛ࡞
γΣϧʹύΠϓͰ࣮ͯ͠ߦ echo 羊が1匹 echo 羊が2匹 .. echo 羊が99匹 echo 羊が100匹 ύΠϓ γΣϧ
ϑΟϧλίϚϯυͰ $ seq 100 | sed 's/^/羊が/' | sed 's/$/匹/'
1͔Β100ͷྻΛ४උ ύΠϓͰsedʹͯ͠ॲཧ sed͕ϑΟϧλͱͯ͠ಈ࡞ ίϚϯυͷ܁Γฦ࣮͠ߦ͕ແ͍ͨΊ ߴͳॲཧ͕ظग़དྷΔ
܁Γฦ͠ॲཧͷߟ͑ํ • ॲཧ͍ͨ͠σʔλϦετΛ४උ • 1ߦ1ϨίʔυͳςΩετσʔλ • σʔλϑΝΠϧ໊Ұཡ • ίϚϯυͷग़ྗ
܁Γฦ͠ॲཧͷߟ͑ํ • ॲཧ͢ΔίϚϯυͷσβΠϯ • ϑΟϧλͱͯ͠ಈ࡞͢Δ͔ʁ • GNU dateΦϓγϣϯͰϑΟϧλಈ࡞ • ෳͷҾ͕ࢦఆग़དྷΔ͔ʁ
• lsίϚϯυɺfileίϚϯυͳͲ
܁Γฦ͠ॲཧͷߟ͑ํ • ϑΟϧλͱͯ͠ಈ࡞͢Δ • ͜Ε͕ग़དྷΕཧత • ύΠϓͰߴॲཧͷՄೳੑ
܁Γฦ͠ॲཧͷߟ͑ํ • ෳͷҾ͕ࢦఆग़དྷΔ • xargsͷར༻Λݕ౼͢Δ • xargsҾ͕͗ͯ͢େৎ
܁Γฦ͠ॲཧͷߟ͑ํ • ϑΟϧλෳҾμϝ • ੍ޚߏΛߟ͑Δ • xargsͷ-n-IΦϓγϣϯͷར༻Λߟ͑Δ