linux100day(day4)--文本處理三劍客

  

在介紹三劍客以前,先來認識一下通配符和正則表達式linux

通配符
    git

正則表達式正則表達式

做用:經過一些特殊字符,來表示一類字符內容shell

一、字符匹配bash

  .     任意一個字符工具

  [ ]   範圍內的任意一個字符spa

  [^ ] 取反3d

  字符類 [:digit:] [:alnum:] [:alpha:] [:lower:] [:upper:] [:space:] [:punct:]code

二、次數匹配blog

  *    匹配前面的字符0次到屢次

  ?  匹配前面的字符0次到1次

  +    匹配前面的字符1次到屢次

三、位置錨定

  ^  錨定行首

  $  錨定行尾

  \b  錨定詞首和錨定詞尾

  \>  錨定詞尾

  \<  錨定詞首

  <\root\>  匹配root單詞

  \{m\}     匹配前面的字符m次

  \{m,n\}  匹配前面的字符m到n次

 

四、分組

  \(\)

  分組特性:默認清空下,linux系統下回爲分組指定變量,變量表示形式\1 \2 \3

day4--文本處理三劍客awk,sed,grep

三劍客用法很是靈活強大,須要在練習中慢慢體會,遂以練習爲主。

awk(報告生成器)

     awk做爲三劍客的老大,擅長於取列,主要用來作文本輸出格式化

     awk在處理文件時是逐行處理的

     在awk中,所有行稱爲$0,第一個字段稱爲$1,第二個字段稱爲$2……

     NR爲行號,NF表示最後一行

     BEGIN表示最開始執行,END表示最末尾執行,由於這種特性,BEGIN經常用來賦值

     awk  [選項] [處理命令(腳本)]  [文件]

awk -F 指定輸入文件折分隔符
awk -v 賦值一個用戶定義變量
awk -f 從腳本文件中讀取awk命令

      例一、輸出/etc/passwd第一行的第一個域

      

      例二、打印出/etc/passwd的第3個域和第5個域

      

      例三、匹配/var/log/message中,帶有erro關鍵字的相關信息

      

      例四、輸出/etc/passwd中文件名,行數,列數,和整行信息     

      awk -F ':' '{print FILENAME, NR , NF ,$0}' /etc/passwd

      例五、使用冒號分隔符,查詢最後一列

      

      例六、使用awk輸出第一塊網卡的ip地址

       

 

sed(流處理器)

    sed做爲三劍客的老二,擅長取行,替換和數據搜尋  

    sed [選項] [腳本] [文件]

sed -e 以選項中指定的腳原本處理輸入結果
sed -f 以選項中指定的腳本文件來處理輸入結果
sed -n 只顯示處理後結果
sed -i 替換

    例一、查看/etc/passwd5-10行

      

      這個p表明print打印,同理,d表明delete刪除

    例二、搜尋/etc/passwd中有root關鍵字的行

      

    例三、新建一個文件,並刪除2到4行

      

grep(文本行過濾工具)

    grep [option]... PATTERN [FILE]

               PATTERN通常使用兩種方法,正則表達式和通配符

    egrep = grep -E 使用擴展的正則表達式進行匹配

    fgrep = fast grep 只使用文件通配符進行匹配

    grep 默認使用正則表達式進行文本匹配

grep -P使用perl語言的正則表達式引擎進行搜索
grep -f指定文件
grep -i 忽略大小寫
grep -v反選
grep --color=auto 語法着色
grep -c統計
grep -o輸出時僅顯示匹配內容(默認輸出的是匹配到的行)
grep -n顯示行號
grep -w只匹配與整個單詞匹配的行

     例一、顯示/proc/meminfo文件中大小s開頭的行

      

     例二、顯示/etc/passwd文件中不以/bin/bash結尾的行

      

     例三、顯示/etc/passwd文件中UID最大的用戶的用戶名

      

     例四、若是用戶root存在,顯示其默認的shell程序

       

      例五、找出/etc/passwd中的兩位或三位數

      

相關文章
相關標籤/搜索