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
380
ワンライナーに便利なコマンド
papiron
0
410
第38回シェル芸勉強会へようこそ
papiron
0
480
第37回シェル芸勉強会へようこそ
papiron
0
430
第29回シェル芸勉強会へようこそ
papiron
0
770
第28回シェル芸勉強会へようこそ
papiron
0
1.1k
テキストデータの連結
papiron
0
1.1k
第27回シェル芸勉強会へようこそ
papiron
0
750
Other Decks in Technology
See All in Technology
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.6k
JuniorからSeniorまで: DevOpsエンジニアの成長ロードマップ
yuriemori
1
250
「守る」から「進化させる」セキュリティへ ~AWS re:Inforce 2025参加報告~ / AWS re:Inforce 2025 Participation Report
yuj1osm
1
140
我々は雰囲気で仕事をしている / How can we do vibe coding as well
naospon
2
220
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
30k
Goss: New Production-Ready Go Binding for Faiss #coefl_go_jp
bengo4com
0
1.1k
KiroでGameDay開催してみよう(準備編)
yuuuuuuu168
1
140
TypeScript入門
recruitengineers
PRO
26
7.9k
Preferred Networks (PFN) とLLM Post-Training チームの紹介 / 第4回 関東Kaggler会 スポンサーセッション
pfn
PRO
1
250
広島銀行におけるAWS活用の取り組みについて
masakimori
0
140
自社製CMSからmicroCMSへのリプレースがプロダクトグロースを加速させた話
nextbeatdev
0
150
モダンな現場と従来型の組織——そこに生じる "不整合" を解消してこそチームがパフォーマンスを発揮できる / Team-oriented Organization Design 20250825
mtx2s
6
650
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1031
460k
Six Lessons from altMBA
skipperchong
28
4k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Side Projects
sachag
455
43k
Mobile First: as difficult as doing things right
swwweet
223
9.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Site-Speed That Sticks
csswizardry
10
790
The Language of Interfaces
destraynor
160
25k
Become a Pro
speakerdeck
PRO
29
5.5k
Embracing the Ebb and Flow
colly
87
4.8k
Facilitating Awesome Meetings
lara
55
6.5k
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Φϓγϣϯͷར༻Λߟ͑Δ