筆記–8.4 文本處理工具,正則表達式

cat 查看文本文件

命令功能:

cat主要有三大功能:

1.一次顯示整個文件:cat filename

2.從鍵盤創建一個文件:cat > filename 只能創建新文件,不能編輯已有文件.

3.將幾個文件合并為一個文件:cat file1 file2 > file

  -A :相當于 -vET 的整合選項,可列出一些特殊字符而不是空白而已;

  -E :將結尾的斷行字符 $ 顯示出來;

  -T :將 [tab] 按鍵以 ^I 顯示出來;

  -v :列出一些看不出來的特殊字符 grep -v '自己設定'

  -n :打印出行號,連同空白行也會有行號,與 -b 的選項不同;

  -b :列出行號,僅針對非空白行做行號顯示,空白行不標行號!

  -s: 當遇到有連續兩行以上的空白行,就代換為一行的空白行

rev:cat所顯示的內容每行內倒著顯示


tac 作用等同于cat,不過是倒敘顯示cat的內容

  優點:如果行數太多,用cat在屏幕上不會完整顯示,需要配合more和less,假如我們所要看的內容在文本的后面,使用tac就會方便很多了

more:分頁查看文件 more [OPTIONS…] FILE… 只能向下翻,不能向上翻·空格鍵:代表向下翻一頁;

·Enter :代表向下翻一行;

·/字符串 :在顯示的內容中,向下搜尋“/”后面的這個關鍵詞;

·q :代表立刻離開 more ,不再顯示該文件內容。

less :一頁一頁地查看文件或STDIN 輸出,支持向上,向下翻頁

·空格鍵 :向下翻動一頁;

·pagedown:向下翻動一頁;

·pageup :向上翻動一頁;

·/字符串 :向下搜尋『字符串』的功能;

·?字符串 :向上搜尋『字符串』的功能;

·n :重復前一個搜尋 (與 / 或 ? 有關!)

·N :反向的重復前一個搜尋 (與 / 或 ? 有關!)

·g :前進到這個資料的第一行去;

·G :前進到這個數據的最后一行去 (注意大小寫);

·q :離開 less 這個程序;

head 取出文件前n行,默認10行 

   -c #:指定獲取前# 字節

   -n #:指定獲取前#行 

tail 取出文件后n行,默認10行 

   -c #: 指定獲取后# 字節

   -n #: 指定獲取后#行 

   -f: 跟蹤顯示文件新追加的內容, 常用日志監(/var/log/messages 隨時會有數據寫入,想讓該文件有數據寫入時就立刻顯示到屏幕上, 就利用 -f 這個選項,他可以一直偵測/var/log/messages 這個文件,新寫入的數據都會被顯示到屏幕上。 crtl-c 離開

    

練習:顯示 /etc/man_db.conf 的第 11 到第 20 行

blob.png

cut 在指定的行中,按列切割,取出所需的字段

  -d :  指明分隔符,默認tab

  -f :

   #:  第# 個字段

   #,#[,#] :離散的多個字段,例如1,3,6

   #-# :連續的多個字段,  例如1-6

   混合使用:1-3,7

 -c 按字符切割

 –output-delimiter=STRING

  顯示文件或STDIN 數據的指定列

blob.png

  

wc [- – lwm]

-l :僅列出行;

-w :僅列出多少字(英文單字);

-m :多少字符;

練習

知道使用 last 可以輸出登入者,但是 last 最后兩行并非賬號內容,那么請問,該如何以一行指令串取得登入系統的總人次?

blob.png

grep 

–color=auto:  對匹配到的文本著色顯示;

-v: 顯示不能夠被pattern 匹配到的行;

-i: 忽略字符大小寫

-n:顯示匹配的行號

-c: 統計匹配的行數

-o: 僅顯示匹配到的字符串;

-q:  靜默模式,不輸出任何信息

-A # :after,  后#行 行

-B #: before,  前#行 行

-C # :context,  前后各#行 行

-e :實現多個選項間的邏輯or 關系    grep –e ‘cat ’ -e ‘dog’ file

-w :整行匹配整個單詞

-E :使用ERE

blob.png

blob.png

sort把整理過的文本顯示在STDOUT ,不改變原始文件  sort [options] file(s)

-r 執行反方向(由上至下)整理

-n 執行按數字大小整理

-f 選項忽略(fold )字符串中的字符大小寫

-u 選項(獨特,unique )刪除輸出中的重復行

-t c 選項使用c 做為字段界定符

-k X 選項按照使用c 字符分隔的X

blob.png

uniq:從輸入中刪除重復的前后相接的行   uniq [OPTION]… [FILE]…

-c:  顯示每行重復出現的次數;

-d:  僅顯示重復過的行;

-u:  僅顯示不曾重復的行;

連續且完全相同方為重復

?  常和sort  命令一起配合使用:

sort userlist.txt | uniq -c

blob.png

英文大小寫

[:alpha:]

英文小寫 [:lower:]
英文大寫 [:upper:]
數字 [:digit:]
數字+英文大小寫 [:alnum:]
space,tab 兩鍵 [:blank:]
鍵盤上控制鍵 CR, LF, Tab, Del.. [:cntrl:]
除了space和tab外的所有鍵 [:graph:]
標點符號 [:punct:]

blob.png

blob.png

blob.png

字符匹配:

. : 匹配任意單個字符;

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

[^]:匹配指定范圍外的任意單個字符

blob.png

blob.png

blob.png

位置錨定:定位出現的位置

^ :行首錨定,用于模式的最左側

$ :行尾錨定,用于模式的最右側

^PATTERN$:  用于模式匹配整行

^$: 空行

^[[:space:]]*$  :空白行

\< 或 \b :詞首錨定,用于單詞模式的左側

\<PATTERN\>:匹配整個單詞

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

# grep -n '0*' regular_express.txt

# grep -n '00*' regular_express.txt 

# grep -n '000*' regular_express.txt  

blob.png

blob.png

blob.png

blob.png 

原創文章,作者:wutianyou,如若轉載,請注明出處:http://www.www58058.com/29521

(0)
wutianyouwutianyou
上一篇 2016-08-07 22:06
下一篇 2016-08-07 22:06

相關推薦

  • 【N25第十三周作業】samba配置詳解和安裝

    samba:   功能:     文件系統共享:類unix系統和windows系統之前文件系統共享     打印機共享;     NetBIOS協議;   服務端程序包:samba  &nb…

    Linux干貨 2016-12-18
  • Linux包管理:rpm/yum/編譯安裝

    rpm:安裝,查詢,升級,校驗,卸載   Topic: 程序包 rpm管理 yum管理   程序包:   什么是程序包管理器: 將編譯好的應用程序的各個組成文件打包成一個或幾個程序包文件,從而更方便地實現程序包的安裝、升級、卸載和查詢等管理操作   程序包的組成清單: 文件清單 安裝或卸載時運行的腳本 數據庫(公共) …

    2017-09-14
  • N22-第一周作業

    1、描述計算機的組成及其功能    組成:        硬件:            CPU:運算器、控制器、寄存器、緩存     &nb…

    Linux干貨 2016-08-15
  • 系統啟動和內核管理以及幾個重要實驗

    Centos啟動流程:     1.加載BIOS的硬件信息,獲取第一個啟動設備     2.讀取第一個啟動設備MBR的引導加載程序(grub)的啟動信息     3.加載核心操作系統的核心信息,核心開始解壓縮,并嘗試驅動所有的硬件設備 &n…

    Linux干貨 2017-05-15
  • Linux 第九天: 練習和作業

    Linux 第九天: 練習和作業       編寫腳本/root/bin/systeminfo.sh 顯示當前主機系統信息 包括主機名 ipv4地址 操作系統版本 內核版本 CPU信號 內存大小 硬盤大小 server_ip=`ifconfig|grep'inet\b'|grep -v '…

    Linux干貨 2016-08-15
  • 正則表達式

    什么是正則表達式? 正則表達式(Regular Expression)是一種文本模式,包括普通字符(例如,a 到 z 之間的字母)和特殊字符(稱為”元字符”)。正則表達式使用單個字符串來描述、匹配一系列匹配某個句法規則的字符串,許多程序設計語言都支持利用正則表達式進行字符串操作。正則表達式是煩瑣的,但它是強大的,學會之后的應用會讓你除…

    Linux干貨 2017-06-01
欧美性久久久久