第十三天

I/O

Input設備

Output設備


系統設定

默認輸出設備:標準輸出 STDOUT

默認輸入設備:標準輸入 STDIN

標準錯誤輸出:STDERR 2


標準輸入:鍵盤

標準輸出和標準錯誤輸出:顯示器


I/O重定向


linux中:

>:覆蓋輸入

>>:追加輸出

set -c:進制對已經存在的文件覆蓋重定向。強制覆蓋輸出澤恩使用>|

set +c關閉上述功能

2>:重定向錯誤輸出

2>>:追加錯誤輸出

&>:重定向標準輸出或錯誤輸出至同一個文件


<:輸入重定向

<<:Here Document


管道:前一個命令的輸出,作爲後一個命令輸入的

命令1|命令2|命令3...


grep及其egrep

grep的用法


grep,egrep,fgrep 用法:grep 'root' /etc/...

grep:根據模式搜索文本,並將符合模式的文本行顯示出來


Pattern(模式):文本字符和正則表達式的元字符組合而成的匹配條件

grep [options] PATTERN [file...]

-i:不考慮大小寫

--color 顯示匹配條件爲高亮顏色

-v:顯示沒有匹配到的行(反向顯示)

-o:只顯示被模式匹配到的字符串

-E:擴展表達式

-A#:(#爲數字)顯示其後#行

-B#:顯示其前#行

-C#:顯示其前後#行


正則表達式:REGular EXpression REGEXP


元字符:

.:單個字符

匹配次數(貪婪模式)

*:匹配其前面字符任意次

a*B -->任意次a

.*:任意長度的任意字符

\?:匹配其前面字符1次或0次

\{m,n\}:匹配其前面的字符至少m次,至多n次

\{1,\}:至少1次,至多不限

\{0,3\} :至少不限,至多3次


位置錨定:

^:錨定行首,此字符後面的任意內容必須出現在行首

$:錨定行尾,此字符前面的任意內容必須出現在行尾

^$:空白行


\<或\b:其後面的任意字符必須以單詞首部出現

\<或\b:其前面的任意字符必須以單詞尾部出現

注意\b位置


分組:

\(ab\)*

後向引用

\1:引用第一個左括號與之匹配的右括號所包括的內容

\2:引用第二個。。。。。。。


[]:匹配指定範圍內的任意單個字符

[^]:匹配範圍外的任意單個字符


字符集合:[:digit:],[:lower:],[:upper:],[:punct:],[:space:],[:alnum:]

  數字    ,小寫字母,大寫字母,標點    ,空白    ,所有字符字母

fgrep:不支持正則表達式(搜索速度快)


擴展正則表達式:

grep -E =egrep  

字符匹配:.,[],[^]

次數:*,?,+(匹配其前的字符至少1次)=\{1,\}

位置錨定:^,$,\<,\>

分組:()  \1,\2,\3,......

或者: "a|b" 


習題:找到a.txt中1--255的整數(默認爲整數)

egrep '\<(1-9)|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]' a.txt


找出a.txt中的IP地址:

IPV4:5類:A,B,C,D,E

A:1-127   B:128-191   C:192-223 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章