歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 0520 第六節課

0520 第六節課

日期:2017/3/3 12:05:30   编辑:Linux技術

特殊權限的說明及用法直接並到上一節課的筆記的末尾

文本處理工具

1.cut:將數據以某分割符為界切成幾段,並提取其中一段

-d: d後面直接跟分隔符

-f: f後面跟想要提取的段數,多段用,隔開

2.more/less:翻頁顯示

COMMAND |more/less -d :d是一些簡單的幫助提示

3.head:顯示頭幾行

-#: 顯示前邊#行

4.tail:顯示末尾幾行

-#:顯示末尾#行

-f:監控末尾添加,一般是配合&後台使用

-n +k: 從第k行開始顯示

5.paste:合並命令

-d:分隔符,兩個文件合並在一起區分兩個數據的分隔符

-s:一個數據一行

6.uniq:計數的命令

-c:統計出現的次數

-u:顯示沒有重復的行

-d:顯示重復的行

7.diff:比較兩文件的不同

-u:將比較的結構以特殊格式輸出,重定向到文件後可以做補丁使用

8.patch:

-i:將file1以diff輸出的格式變成file2

-r:將file2以diff輸出的格式變成file1

-b:在做ir操作前備份保存一份原件

正則表達式和linux文本處理三劍客

文本處理三劍客: grep: 過濾文本

sed: 編輯文本

awk: 文本報告生成器

grep:過濾文本工具

grep:支持正則表達式

egrep:支持擴展表達式

fgrep:不支持正則表達式

三個之間可以通過選項轉化 :grep -E =egrep

grep -F =fgrep

grep 【options】 pattern file

-i:區分大小寫

-o:不顯示行,只顯示匹配到的數據

-v:顯示匹配到的數據所在的行以外的內容

-q:靜默模式,無論是否匹配到都不顯示

-E:支持擴展正則表達式

-A #:after,匹配到的行的下#行也一並顯示出來

-B #:before, 上#行

-C #:上下文, 上下#行

正則表達式:就是一些符號代指文本,和前面的*有點類似,但是每個符號的意義完全不同,注意不要搞混

字符匹配: . :任意單個字符

[]:指定范圍的任意單個字符

[^]:制定范圍外的任意單個字符

[:space:][:digit:][:alnum:][:alpha:][:lower:][:upper:][:punct:]

意思同通配符

字數匹配: * :前邊的字符出現任意次數0,1,2,。。。。

\?:前邊的字符出現0或者1次,即前邊的數據可有可無

\+:前邊的字符出現1次以上

\{m\}:前邊的字符出現m次,多一次少一次都不行

\{m,n\}:前邊的字符最多出現n次最少出現m次

\{0,n\}:前邊的字符最多出現n次

\{m,\}:前邊的字符最少出現m次

位置錨定: ^:行首,放在pattern最左側

$:行位 右側

^$:空白行,連空格都沒有

^[:space:]*$:空行,有空格

\<:詞首,放在單詞的最左側

\>:詞尾, 右側

\<\>:單詞錨定

分組及引用:\(\):將多個字符括成一個整體

\1:是指,前邊的括號,從最左側的第一個左括號起,到其匹配的括號為止,括號裡邊的內容

\2: 二個

\3: 三個

\4: 四個

注:這種引用方式叫做後向引用

egrep:擴展正則表達式內容基本上同正則表達式相同,只是在字數匹配時做轉義用的\可以不用添加

不同

或: |:|左側全部內容或者|右側全部內容

注意:|在某些環境下使用時要加上\來轉義

C|cd:是指C或者cd而不是Cd或者cd,想表達後者的意思需要用到分組,即加括號

\(C|c\)d來表示

fgrep:不支持正則表達式的grep,並不是沒用的,因為我們將來要檢索的文檔很多都是數據十分龐大的大文檔,所以,在用不到正則表達式的是

後使用fgrep的效率將會更高

正則表達式是一個重要的內容,也是一個需要動腦的內容,應該多做練習

本文出自 “博客作業初版” 博客,謝絕轉載!

Copyright © Linux教程網 All Rights Reserved