1. 程式人生 > >Linux 第13天 文本操作命令

Linux 第13天 文本操作命令

stat pattern $? fff 大小 重復 比對 echo $? word

Linux 第13天

時間: 20180730


文本操作命令學習


/dev/urandom 一個生成隨機字符的設備

cat /dev/urandom |tr -dc '[:alnum:][:print:]' |head -c10 輸出一個隨機字符串

做密碼使用


paste 將兩個文檔的內容依照行號對位輸出至標準輸出

-d 指定兩個文檔的對位輸出時中間的分隔符,默認為tab

-s 將每個文檔合並成一行,然後再將兩個文檔合並在一起,變成兩行內容

wc 統計文檔的行號字符等

-l 輸出文檔的行號

-w 輸出文檔的字數

-c 輸出文檔的字節數

-m 輸出文檔的字符數

netstat 輸出網絡連接,路由表,接口狀態信息等

sort 排序文檔的行

-t 指定要排序的字段分割符

-k 指定要排序的第幾字段

-n 以數字大小方式排序

-r reverse 反轉排序

-u 去重復,去除重復的行

-R 隨機排序

uniq 輸出或忽略重復的行

-c 輸出重復行的數量

-u 只輸出不重復的行

-d 只輸出重復的行

diff 輸出兩個文件的不同之處

diff -u file1 file2

-u 輸出兩個內容之差,並顯示怎樣修改其每一個文件後會和另外一個相同

patch 可以通過diff所比對的不同來通過其中一個文件來還原另外一個文件

patch -b orifile diffFile

-b 備份文件

grep

-v 反轉所匹配到的行

-i 匹配時忽略字符大小寫

-n 顯示所匹配到的行的行號

-c 顯示所匹配到的行的次數

-o only 只顯示匹配到的文本

-q 靜默模式,表示只查找是否匹配到,使用echo $?可以查詢是否匹配到,用來做檢測使用

-A 輸出匹配到的行加上後N行的內容

-B 輸出匹配到的行加上前N行的內容

-C 輸出所匹配的行前後多幾行內容

-e 實現匹配多個pattern,之間是或關系

-w 表示匹配一個單詞,即中間是以非下劃線,和數字組成的一個單詞

-E 使用擴展的正則表達式

-F 使用fgrep即不使用正則表達式,直接匹配其字符串,速度快


基本正則表達式

字符匹配

. 匹配任意單個字符

[] 匹配中括號中指定的任意單個字符

[^] 匹配除中括號中指定的任意單個字符

[:alnum:] [:digit:] [:upper:] [:lower:]

[:punct:] [:alpha:] [:space:] [:blank:]空格和制表符

[:print:] 可打印字符 [:cntrl:]


匹配次數

\? 匹配前方字符0次或1次

* 匹配前方字符任意次,包含0次

.* 表示任意字符任意次

\{n\} 匹配前方字符n次

\{n,\} 匹配前方字符至少n次

\{n,m\} 匹配前方字符至少n次,最多m次

\{,m\} 匹配前方字符m次以內,包含0次

\+ 匹配前方字符至少一次


位置錨定

\< 或 \b 匹配詞首,即該單詞詞首是以非下劃線,或數字,字母隔開的單詞

\> 或 \b 匹配詞尾

\<word\> 匹配整個單詞

^ 匹配行首

$ 匹配行尾

^$ 匹配空行

^[[:space:]]*$ 匹配帶空格的空行


分組

將一個模式或多項匹配合起來成一個整體,供後向引用

後向引用是引用前方括號中的模式所匹配的字符,而非模式本身

\(pattern\)



擴展正則表達式

字符匹配(與基本正則匹配是有的將反斜線去除)

. 任意單個字符

[] 指定範圍內任意單個字符

[^] 指定範圍外任意單個字符


匹配次數

* 前方字符任意次數

? 前方字符0次或1次

{n} 精確匹配前方字符n次

{n,} 匹配前方字符至少n次

{n,m} 匹配前方字符至少n次,至多m次

{,m} 匹配前方字符最多m次


位置錨定

^ 行首

$ 行尾

< 詞首

> 詞尾


分組

()

後向引用 \1,\2...




nmap 網絡探測和端口檢測工具

nl 輸出文檔的行號(只輸出有文本的行的行號)

last 輸出最近登錄此機器的用戶

lastb 輸出最近登錄此機器未成功的用戶


Linux 第13天 文本操作命令