日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux100day(day4)--文本处理三剑客

發布時間:2023/12/18 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux100day(day4)--文本处理三剑客 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  

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

通配符
    

正則表達式

作用:通過一些特殊字符,來表示一類字符內容

1、字符匹配

  .? ? ?任意一個字符

  [ ]? ?范圍內的任意一個字符

  [^ ]?取反

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

2、次數匹配

  *?   匹配前面的字符0次到多次

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

  +?   匹配前面的字符1次到多次

3、位置錨定

  ^  錨定行首

  $  錨定行尾

  \b  錨定詞首和錨定詞尾

  \>  錨定詞尾

  \<  錨定詞首

  <\root\>  匹配root單詞

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

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

?

4、分組

  \(\)

  分組特性:默認清空下,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命令

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

      

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

      

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

      

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

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

      例5、使用冒號分隔符,查詢最后一列

      

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

?      

 

sed(流處理器)

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

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

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

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

      

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

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

      

    例3、新建一個文件,并刪除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只匹配與整個單詞匹配的行

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

      

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

      

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

      

?    例4、如果用戶root存在,顯示其默認的shell程序

?      

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

      

?

轉載于:https://www.cnblogs.com/Y139147/p/11353628.html

總結

以上是生活随笔為你收集整理的linux100day(day4)--文本处理三剑客的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。