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
20251119 如果是勇者欣美爾的話, 他會怎麼做? 東海資工
pichuang
0
170
HTML5 and the Open Web Platform - Lecture 3 - Web Technologies (1019888BNR)
signer
PRO
2
3.2k
【ベテランCTOからのメッセージ】AIとか組織とかキャリアとか気になることはあるけどさ、個人の技術力から目を背けないでやっていきましょうよ
netmarkjp
2
2.6k
Flinga
matleenalaakso
2
15k
あなたの言葉に力を与える、演繹的なアプローチ
logica0419
1
270
1021
cbtlibrary
0
400
TinyGoをWebブラウザで動かすための方法+アルファ_20260201
masakiokuda
1
200
【ZEPホスト用メタバース校舎操作ガイド】
ainischool
0
170
Cifrado asimétrico
irocho
0
380
1014
cbtlibrary
0
520
Human Perception and Cognition - Lecture 4 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.3k
IKIGAI World Fes:program
tsutsumi
1
2.6k
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
180
The SEO identity crisis: Don't let AI make you average
varn
0
240
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
220
A Tale of Four Properties
chriscoyier
162
24k
Thoughts on Productivity
jonyablonski
74
5k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
320
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
180
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
110
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
57
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 台灣 授權條款釋出。 任何提及之圖片、影片其版權皆為原所有人所有
任何事情…
都要咬緊牙根!!!!
[轉錄] 若你把目標放在月球 那你將輕易越過樹梢