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
NISRA Course
Search
loyo
April 17, 2012
Education
1
110
NISRA Course
主題:
戰鬥吧!打工戰士!身為工程師須具備的字串處理思維!
課程要點:
針對常用字串處理介紹 介紹常用工具及指令
loyo
April 17, 2012
Tweet
Share
Other Decks in Education
See All in Education
Introduction - Lecture 1 - Next Generation User Interfaces (4018166FNR)
signer
PRO
1
4.4k
Use Cases and Course Review - Lecture 8 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.4k
2025年の本当に大事なAI動向まとめ
frievea
0
170
心理学を学び活用することで偉大なスクラムマスターを目指す − 大学とコミュニティを組み合わせた学びの循環 / Becoming a great Scrum Master by learning and using psychology
psj59129
1
1.7k
Going over the Edge
jonoalderson
0
340
TinyGoをWebブラウザで動かすための方法+アルファ_20260201
masakiokuda
1
200
悩める リーダー達に 届けたい書籍|レジリエントマネジメント 書籍イントロダクション-260126
mimoza60
0
230
ThingLink
matleenalaakso
28
4.3k
Chapitre_2_-_Partie_3.pdf
bernhardsvt
0
150
Security, Privacy and Trust - Lecture 11 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
160人の中高生にAI・技術体験の講師をしてみた話
shuntatoda
0
300
AWS re_Invent に全力で参加したくて筋トレを頑張っている話
amarelo_n24
2
120
Featured
See All Featured
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
A Tale of Four Properties
chriscoyier
162
24k
Why Our Code Smells
bkeepers
PRO
340
58k
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
The Curse of the Amulet
leimatthew05
1
8.4k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
49k
A better future with KSS
kneath
240
18k
Producing Creativity
orderedlist
PRO
348
40k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
310
For a Future-Friendly Web
brad_frost
182
10k
Raft: Consensus for Rubyists
vanstee
141
7.3k
Transcript
戰鬥吧!打工戰士! 身為工程師須具備的字串處理思維! Loyo@NISRA
Before Start 任何提及之 圖片、影片皆為 原所有人所有
WHY 為什麼選擇此主題? 增加面對處理字串時… 的手感!!!
思維方式 甚麼時候要? 資料筆數? 是否要非常精準? 檔案是否有中文或特殊字元? 日後常常會用到? 手邊目前 有甚麼工具? 檔案格式?
STRING 字串
字串系三小… “ “ 這就是字串!!!!!!!
STRING 計算字串出現次數 字串 count 取代字串成目標字串(可能是換成空白字元) replace
STRING 抓取某特定字串 字串 select 將特定字串排列 sort
Linux Command Linux 常用指令
HEAD LESS CAT TAIL I > >> WC SORT UNIQ
GREP AWK LINUX常用指令
CAT, LESS cat <file> 顯示檔案內容 CAT less <file> LESS 一次倒出所有內容
可控制瀏覽內容 搜尋內容也很方便!
HEAD, TAIL head -n <file> also 顯示檔案內容 HEAD tail -n
<file> TAIL 選擇性從頭顯示內容 選擇性從最後顯示內容 *(參數) n :行數 *(參數) n :行數
“|” PIPE <command1> | <command2> 重導輸出內容 唸法: PIPE “|” 將command1輸出內容
當成command2的輸入
“|” PIPE 重導輸出內容 唸法: PIPE 拜託不要打L… (會崩潰
>, >> <command>> <file> 資料流重導向 > <command>>> <file> >> 取代的概念
累加的概念 *經常搭配在處理指令輸出結果寫檔,會覆蓋前次結果 *經常搭配在處理指令輸出結果寫檔,會累加呈現
WC wc -l <file> 資料計算(行數, 字元數) wc (計算行數) wc -m
<file> wc (計算字元數) 計算該檔案有幾行 計算該檔案有幾字元 *(參數) -l :計算行數 *經常搭配pipe使用 *是L , 容易和pipe搞混 *(參數) -m :計算字元數(換行也算)
SORT sort <file> 資料排序 sort 排序檔案內容 *(參數) -f :忽略大小寫 (注意忽略大小寫,會因系統環境變數設定不同而有差異)
-b:忽略每行前方的空白 -r:反向排序 -u:將相同之選項排除,僅保留一項 *uniq 與 sort 視情境搭配使用
UNIQ uniq <file> 排除重覆資料 uniq 排除檔案內容重覆部分 *(參數) -i :忽略大小寫 -c:計算重覆次數
*uniq 指令是將重複的項目減少 所以需要『配合排序過的檔案』(sort command)
GREP grep PATTERN <file> 選取特定資料 grep 選取檔案中特定資料 *(參數) -i :
忽略大小寫 -E: PATTERN 使用 regexp -v: 反向選取,相當於列出不符合 PATTERN 的資料 *grep 指令使用的的機會非常高,建議多熟悉!
AWK awk -F'#' '{print $3}' <file> 資料處理工具 awk 選取檔案中特定 欄位資料
*(參數) F : 分隔符號 allenown#realpiyo#shaolin#anfa $1 $2 $3 $4 *awk的用法非常多,甚至可以針對IF去做判斷,可自行玩 玩實驗看看。 $3 = ?
REGEXP 正規表達式 敘述符合某段句法規則之字串的字串 用來找尋與驗證或替換符合規則的字串。
包含大小寫A-Z的字元 REGEXP [A-Za-z] 正規表達式 篩選字串格式的描述語句 包含大小寫A-Z的四個字元 [A-Za-z]{4} 表示所有由四個A-Z字元所組 成的字串!(大小寫視同)
包含大小寫A-Z,0-9的字元,字元數最少3個,最多8個的字串 REGEXP [A-Za-z0-9] {3,8} 正規表達式 開頭是由4個0-9的數字所組成的字串 ^[0-9]{4} 結尾是由4個0-9的數字所組成的字串 [0-9]{4}$
手機號碼(09xx-xxx-xxx) REGEXP 09[0-9]{2}-[0-9]{3}-[0-9]{3} 正規表達式 手機號碼(09xx-xxxxxx) 09[0-9]{2}-[0-9]{6} 身分證字號 [A-Za-z][12][0-9]{8} 1或是2
REGEXP正規表達式 字母 縣市 A 臺北市 B 臺中市 C 基隆市 D
臺南市 E 高雄市 F 新北市 G 宜蘭縣 H 桃園縣 I 嘉義市 J 新竹縣 K 苗栗縣 字母 縣市 M 南投縣 N 彰化縣 O 新竹市 P 雲林縣 Q 嘉義縣 T 屏東縣 U 花蓮縣 V 臺東縣 W 金門縣 X 澎湖縣 Z 連江縣 第一碼數字: 2 -> 女 1 -> 男 第一碼字母:
MIKU 初音ミク A: 初音是誰? B:初音是個軟體而已...... C:什麼叫初音是個軟體而以.....想決鬥嗎?!!!! B:好啦 應該說她"本來"是個軟體 C:什麼叫做「本來」是個軟體! 你又要決鬥了嗎!????
ENCODING 字元編碼 Character encoding
ENCODING 字元編碼 字元 凡舉看到的符號、字符皆可稱為字元。 字集 字元的集合,即為字集,不同國家因語言與文字上 的不同,會有不同的字集。 字碼 對於字集對應而產生的對應碼,即為字碼。
ENCODING 字元編碼 舉個例子…
None
ENCODING 字元編碼 字元 假設 ”是否要吃這件事” 為一個概念,而每一個概念即表示一個字元。 字集 那日常生活中的吃喝拉撒睡,就是很多個概念(字元)的集合了。 要 吃
嗎 ? 要 喝 嗎 ? 要 撒 嗎 ? 要 睡 嗎 ? 要 ‧‧‧‧ 嗎 ? 概 念 的 集 合 ( 字 集 )
ENCODING 字元編碼 字碼 那麼在概念的集合中,為了方便溝通,乾脆給都給它個編碼吧? 要 吃 嗎 ? 要 喝
嗎 ? 要 撒 嗎 ? 要 睡 嗎 ? 要 ‧‧‧‧ 嗎 ? 概 念 的 集 合 ( 字 集 ) 0A 0B 0C 0D 0E 字 碼
ENCODING 字元編碼 0A 0B 要 吃 嗎 ? 要 喝
嗎 ?
ENCODING 字元編碼 日本字元 假設 ”是否要吃這件事” 為一個概念,而每一個概念即表示一個字元。 日本字集 那日常生活中的吃喝拉撒睡,就是很多個概念(字元)的集合了。 概 念
的 集 合 ( 字 集 ) 食 べ ま す か ? 飲 み ま す か ? XX ま す か ? OO ま す か ? YY ま す か ?
ENCODING 字元編碼 日本字碼 那麼在概念的集合中,為了方便溝通,乾脆給都給它個編碼吧? 食 べ ま す か ?
飲 み ま す か ? XX ま す か ? OO ま す か ? YY ま す か ? 概 念 的 集 合 ( 字 集 ) 1A 1B 1C 1D 1E 字 碼
ENCODING 字元編碼 1C 1A 食 べ ま す か ?
飲 み ま す か ?
ENCODING 字元編碼 當日本人碰到台灣人…
ENCODING 字元編碼 1C 食 べ ま す か ? 1C
字碼不相同無法對應 同時使用的字集也不同 ??
BIG5 大五碼 五大碼
ENCODING 字元編碼 Big5 Big5雖普及於台灣、香港與澳門等繁體中文通行區,但長期以來並非當 地的國家標準,而只是業界標準。 要 吃 嗎 ? 要
喝 嗎 ? 要 撒 嗎 ? 要 睡 嗎 ? 要 ‧‧‧‧ 嗎 ? 概 念 的 集 合 ( 字 集 ) 0A 0B 0C 0D 0E 字 碼 示 意 圖
Unicode 統一碼、萬國碼、單一碼、標準萬國碼
ENCODING 字元編碼 Unicode 電腦科學領域裡的一項業界標準。它為世界上大部分的文字系統進行整 理、編碼,使得電腦可以用更為簡化地方式來呈現和處理文字。 示 意 圖 要 吃
嗎 ? 要 喝 嗎 ? 要 撒 嗎 ? 要 睡 嗎 ? 概 念 的 集 合 ( 字 集 ) 00A 00B 00C 00D 01A 字 碼 食 べ ま す か ? 飲 み ま す か ? XX ま す か ? OO ま す か ? 01B 01C 01D
&*&%ˊ-=[_ 亂碼
ENCODING 字元編碼 亂碼 當使用的字集與字元編碼互相不符合的時候,就會出現亂碼。 Big5 vs UTF8 隞嗡��vs 電子郵件 NOTE:
UTF8是Unicode的一種編碼方式!
THE END
本著作由Loyo Fulamce製作,以創用CC 姓名標示- 非商業性-相同方式分享 3.0 台灣 授權條款釋出。 任何提及之圖片、影片其版權皆為原所有人所有
任何事情…
都要咬緊牙根!!!!
[轉錄] 若你把目標放在月球 那你將輕易越過樹梢