標籤:color 使用 io 檔案 資料 cti 工作 linux
1. Regex特殊符號。
[:alnum:]:代表英文大小寫字元及數字;
[:alpha:]:代表英文大小寫字元;
[:blank:]:代表空格鍵與[Tab]鍵;
[:cntrl:]:代表鍵盤上的修飾鍵,即包括CR、LF、Tab、Del鍵;
[:digit:]:代表數字;
[:graph:]:除了空格符外的其他所有按鍵;
[:lower:]:代表英文小寫字元;
[:print:]:代表任何可以被列印出來的字元;
[:punct:]:代表標點符號,即"‘?!;:#$;
[:upper:]:代表英文大寫字元;
[:space:]:代表會產生空白的字元,包括CR、Tab等;
[:xdigit:]:代表十六進位的數字類型;
2. grep [-A] [-B] [--color=auto] ‘搜尋字串‘ filename:搜尋字串
參數:
[-A]:後面可接數字,表示列出搜尋行外,後續n行也列出;
[-B]:後面可接數字,表示列出搜尋行外,前面n行也列出;
3. 基礎Regex字元。
^word:表示待尋找的字串word在行首;
word$:表示待尋找的字串word在行末;
.:代表一定有一個任何字元的字元;
\:代錶轉移字元,將特殊符號的特殊意義去除;
*:重複零個到無窮個的前一個字元;
[list]:從字元集合的RE字元裡面找出想要的字元;
[n1-n2]:從字元集合的RE字元裡面找出想要選取的字元範圍;
[^list]:從字元集合的RE字元裡面找出不想要的字元;
\{n,m\}:連續n到m個的前一個RE字元,若為\{n\}則是連續n個前一個字元,若為\{n,\}則是連續n個以上前一個字元。
4. sed [-nefr] 動作:管道命令,分析標準輸入。
參數:
-n:使用安靜模式,僅有被sed處理後的資料才會顯示;
-e:直接在命令列模式上進行sed的動作編輯;
-f:直接將sed的動作寫在檔案內,-f filename則可以執行filename內的sed動作;
-r:使sed的動作支援擴充的Regex(預設是基礎Regex);
-i:直接修改讀取的檔案內容,而不是由螢幕輸出。
動作說明:[n1[,n2]] function
n1, n2:不見得會存在,一般代表選擇進行動作的行數範圍。
function參數:
a:新增,a的後面可接字串,而這些字串會在新的一行出現(目前的下一行);
c:替換,c的後面可接字串,而這些字串會替代n1-n2之間的行;
d:刪除,後面不接字串;
i:插入,i的後面可接字串,而這些字串會在新的一行出現(目前的上一行);
p:列印,列印某個範圍的資料,通常會與sed -n一起運行;
s:替換,可以直接進行替換的工作,通常這個s搭配Regex,如1,20s/old/new/g。
5. 擴充Regex。
RE字元:
+:重複一個或一個以上的前一個RE字元;
?:零個或一個的前一個RE字元;
|:用或的方式找出數個字串;
():找出“組”字串,如g(la|oo)d,表示glad或good;
()+:多個重複的群組的判別。
6. printf ‘列印格式‘ 實際內容:格式化輸出。
參數:
關于格式方面的特殊樣式:
\a:警告聲音輸出;
\b:退格鍵;
\f:清除螢幕;
\n:換行;
\r:斷行符號;
\t:水平[Tab]鍵;
\v:垂直[Tab]鍵;
\xNN:NN為兩位元的數字,可將數字轉換為16進位字元。
常見變數格式:
%ns,n代表數字,表示該字串佔據多少個字元;
%ni,n代表數字,表示該整數佔據多少個字元;
%N.nf,N與n代表數字,表示該浮點數佔據N個字元,精度n個字元;
7. awk ‘條件類型1{動作1} 條件類型2{動作2}...‘ filename:awk處理小型資料。
awk變數說明:
NF:每一行($0)擁有的欄位總數;
NR:目前awk正處理的第幾行資料;
FS:目前的分隔字元,預設是空格鍵。
awk的邏輯運算子:
>:大於
<:小於
>=:大於或等於
<=:小於或等於
==:等於
!=:不等於
8. diff [-bBi] from-file to-file:檔案比較。
參數:
from-file:欲比較的檔案名稱;
to-file:作為目的進行比較的檔案名稱;
-b:忽略一行當中有多個空白的區別;
-B:忽略空白行的區別;
-i:忽略大小寫不同。
9. cmp [-s] file1 file2:以位元組比較檔案。
參數:
-s:講所有的不同點的位元組處都列出來,cmp預設僅會列出第一個發現的不同點。
10. patch [-R] [-pN] < patch_file:還原diff製作出來的補丁檔案(.patch)。
參數:
-p:後面的N表示取消幾層目錄的意思;
-R:代表還原,將新檔案還原為舊版本,不加-R則表示更新,將舊版本更新為新版本。
11. pr:檔案列印準備。