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
560
シェルで繰り返し処理
第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
420
第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
成長自己責任時代のあるきかた/How to navigate the era of personal responsibility for growth
kwappa
4
310
Shirankedo NOCで見えてきたeduroam/OpenRoaming運用ノウハウと課題 - BAKUCHIKU BANBAN #2
marokiki
0
180
AWS IoT 超入門 2025
hattori
0
310
スタートアップにおけるこれからの「データ整備」
shomaekawa
2
350
How to achieve interoperable digital identity across Asian countries
fujie
0
140
プロダクトのコードから見るGoによるデザインパターンの実践 #go_night_talk
bengo4com
1
2.4k
生成AIとM5Stack / M5 Japan Tour 2025 Autumn 東京
you
PRO
0
250
許しとアジャイル
jnuank
1
140
ACA でMAGI システムを社内で展開しようとした話
mappie_kochi
1
310
速習AGENTS.md:5分で精度を上げる "3ブロック" テンプレ
ismk
6
750
Escaping_the_Kraken_-_October_2025.pdf
mdalmijn
0
160
20251014_Pythonを実務で徹底的に使いこなした話
ippei0923
0
170
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Thoughts on Productivity
jonyablonski
70
4.9k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
A designer walks into a library…
pauljervisheath
209
24k
Agile that works and the tools we love
rasmusluckow
331
21k
A better future with KSS
kneath
239
18k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Code Reviewing Like a Champion
maltzj
526
40k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
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Φϓγϣϯͷར༻Λߟ͑Δ