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
ishiy1993
May 30, 2017
Programming
0
920
シェル芸入門
CAMPHOR- 「CLIについて語る会」における発表資料
ishiy1993
May 30, 2017
Tweet
Share
Other Decks in Programming
See All in Programming
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
960
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
470
Leading Effective Engineering Teams in the AI Era
addyosmani
7
670
O Que É e Como Funciona o PHP-FPM?
marcelgsantos
0
220
bootcamp2025_バックエンド研修_WebAPIサーバ作成.pdf
geniee_inc
0
140
「ちょっと古いから」って避けてた技術書、今だからこそ読もう
mottyzzz
12
7.2k
GC25 Recap: The Code You Reviewed is Not the Code You Built / #newt_gophercon_tour
mazrean
0
130
ネストしたdata classの面倒な更新にさようなら!Lensを作って理解するArrowのOpticsの世界
shiita0903
1
130
AkarengaLT vol.38
hashimoto_kei
1
130
SODA - FACT BOOK(JP)
sodainc
1
8.9k
Amazon ECS Managed Instances が リリースされた!キャッチアップしよう!! / Let's catch up Amazon ECS Managed Instances
cocoeyes02
0
100
Vue 3.6 時代のリアクティビティ最前線 〜Vapor/alien-signals の実践とパフォーマンス最適化〜
hiranuma
2
220
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
Agile that works and the tools we love
rasmusluckow
331
21k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
We Have a Design System, Now What?
morganepeng
53
7.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
RailsConf 2023
tenderlove
30
1.3k
Making Projects Easy
brettharned
120
6.4k
The Invisible Side of Design
smashingmag
302
51k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Transcript
γΣϧܳೖ ishiy 2017.05.28
$ whoami • Twitter: @ishiy1993 • Arch Linux • Zsh
• urxvt • Neovim ͜ͷεϥΠυதͷྫ্هͷڥͰςετ͍ͯ͠·͢ɻ Mac ͷਓɺ”GNU coreutils”ΛΠϯετʔϧͯ͠༻͍ͯͩ͘͠͞ɻ
͓͠ͳ͕͖ • γΣϧܳͱ • γΣϧܳͷجຊɺίπ • Α͘͏ίϚϯυ 8 બ •
͓͢͢Ίॻ੶ɺγΣϧܳษڧձ
γΣϧܳͱ ϚεΘͣɺιʔείʔυͣ͞ɺGUI πʔϧΛ্ཱͪ͛ Δؒͳ͘ɺ͋ΒΏΔௐࠪɾܭࢉɾςΩετॲཧΛ CLI ͷ ίϚϯυೖྗҰܸऴΘΒ͢͜ͱɻ͋Δ͍ͦͷͱ͖ͷίϚϯυೖ ྗͷ͜ͱɻ from https://blog.ueda.tech/?page
id=1434 ҰݴͰ͍͏ͱɺγΣϧϫϯϥΠφʔ
γΣϧܳͷجຊ ύΠϓ | ͰίϚϯυΛͭͳ͍ͰΓ͍ͨ͜ͱΛ࣮ݱ͢Δ ྫ: P ͔Β͡·Δϓϩάϥϛϯάݴޠ? $ cat programming
-languages.txt | grep ’^P’ PHP Perl Python PureScript ύΠϓʹΑͬͯ୯ػೳͳίϚϯυΛࣗ༝ʹΈ߹ͤΒΕΔ!!!
γΣϧܳͷίπ ଟ͘ͷίϚϯυߦʹରͯ͠࡞༻͢Δ ⇒ ͏·͘σʔλΛมܗͯ͠ѻ͏ ྫ: LICENSE ͱ͍͏ϑΝΠϧதʹ࠷සޠԿ͔? ·ͨԿݸ͋Δ͔? $ cat
LICENSE | tr ’A-Z’ ’a-z’ | xargs -n 1 | tr -d ’,.()’ | sort | uniq -c | sort -k1 ,1nr | head -1
Α͘͏ίϚϯυ8બ ࠓճհ͢Δͷ • cat • sort • uniq • grep
• xargs • tr • sed • awk
cat ϑΝΠϧͷதΛ࿈݁ͯ͠ग़ྗ͢Δ $ cat sample1.txt sample2.txt -Ͱඪ४ೖྗΛࢦఆͰ͖Δ $ date +%F
| cat sample1.txt sample2.txt -
sort, uniq sort: ೖྗΛιʔτͯ͠ग़ྗ͢Δ $ cat programming -languages.txt | sort
Α͘͏Φϓγϣϯ: k, n, r, s uniq: ॏෳΛݟ͚ͭΔɺআ͢Δ $ cat programming -languages.txt | sed ’s/\(.\).*/\1/ ’ | sort | uniq -c Α͘͏Φϓγϣϯ: u, d, c
grep ݅ʹϚον͢ΔߦΛग़ྗ͢Δ $ grep "^.*$" * Α͘͏Φϓγϣϯ: E, i, v,
o, A, B, C $ cat LICENSE | grep -o the $ seq 1 100 | grep -C 2 1
xargs ඪ४ೖྗΛίϚϯυͷҾʹ͢ $ ls *.txt | awk ’{print $1 ,$1".bak"}’
| xargs -n 2 cp γΣϧܳਓత͍ํ $ seq 1 9 | xargs -n 3
tr จࣈΛஔ͢Δɺআ͢Δ $ cat presen.csv | tr ’,’ ’ ’
Α͘͏Φϓγϣϯ: d, c $ cat /dev/urandom | tr -dc ’1-9’ | fold -w 4 | head -1
sed ετϦʔϜΤσΟλʔ ͍Ζ͍ΖͰ͖Δ͕ɺจࣈྻͷஔʹ͏͜ͱ͕ଟ͍ $ echo " x x ʹ ͭ
͍ ͯ ޠ Δ ձ " | sed ’s/xx/CLI/’ $ seq 1 100 | sed ’0~3s/.*/ Fizz/’ | sed ’0~5s/.*/ Buzz/’ | sed ’0~15s/.*/ Fizz Buzz/’
awk ϓϩάϥϛϯάݴޠ جຊతͳ͍ํ $ cat presen.csv | tr ’,’ ’
’ | awk ’{print $1" ʮ" $2" ʯ ʹ ͭ ͍ ͯ ͠ · ͢"} ’ $ seq 1 10 | awk ’NR >=5’ $ seq 1 10 | awk ’NR %3==0{ print $1*$1}’ $ seq 1 100 | factor | awk ’NF ==2{ print $2}’
հͰ͖ͳ͔ͬͨίϚϯυͨͪ ࠓճհͨ͠Ҏ֎ʹ͞·͟·ͳίϚϯυ͕͋Δɻ ͦͷҰ෦Λྻڍ͓ͯ͘͠ɻ • find • diff • paste •
curl • wget • jq • nkf • ͳͲͳͲ
͓͢͢Ίॻ੶ • ্ా ོҰ ʮγΣϧϓϩάϥϛϯά࣮༻ςΫχοΫʯ • Piro(݁༸ࢤ) ʮ·Μ͕ͰΘ͔Δ Linux γεܥঁࢠʯ
• Piro(݁༸ࢤ) ʮ·Μ͕ͰΘ͔Δ Linux γεܥঁࢠ 2ʯ ͬͱγΣϧͰ͍Ζ͍ΖΓ͍ͨͱ͍͏ํʹ 1 CLI Λ͍͡Ί͔ͨΓͱ͍͏ํʹ 2,3 Λ͓͢͢Ί͠·͢ɻ ͋ͱ man ΛಡΉͷ͓͢͢Ί͠·͢ɻ
γΣϧܳษڧձ • 2ϲ݄ʹ 1 ճ։࠵ (౦ژɺେࡕɺԬ) • γΣϧܳͰΛղ͘ • YouTube
ͰϥΠϒ৴͍ͯ͠Δ • Twitter(#γΣϧܳ) ͰΓ্͕͍ͬͯΔ • աڈҰཡ: https://blog.ueda.tech/?page id=684
·ͱΊ γΣϧܳΛۦͯ͠࡞ۀޮΛ্͠Α͏!!!
Thank you.