天天看點

Linux文本處理指令集合(未完成)

文章目錄

      • 前言
      • AWK
        • 來源今生
        • 用法
      • CUT
      • GREP
      • 其他常用指令

前言

Linux擁有遠超Windows的文本處理能力,其中的原因離不開Linux處理文本的三劍客,借助與sed以及管道|使得分析處理資料更加的友善。

AWK

來源今生

AWK是一種特定于域的語言,專門用于文本處理,通常用作資料提取和報告工具。它是大多數類Unix作業系統的标準功能。

AWK語言是一種資料驅動的 腳本語言,包含一組針對文本資料流采取的操作-直接在檔案上運作或用作管道的一部分-用于提取或轉換文本,例如生成格式化的文本報告。該語言廣泛使用字元串 資料類型,關聯數組(即由鍵字元串索引的數組)和正規表達式。盡管AWK具有有限的預期應用領域,并且專門設計用于支援單行程式,但該語言是圖靈完備的,甚至早期的Bell Labs AWK使用者也經常編寫結構合理的大型AWK程式

AWK于1970年代在貝爾實驗室建立,[5] [ 需要更好的資源 ],其名稱來源于其作者的姓氏:Alfred Aho,Peter Weinberger和Brian Kernighan。該首字母縮寫詞與*AWK程式設計語言*的封面上的auk auk相同。[6] 當使用所有小寫字母as編寫時,它表示運作以AWK程式設計語言編寫的腳本的Unix或Plan 9程式。

​ 來自維基百科

用法

AWK就是把文本以特定的形式分割,然後一行一行地處理,預設以換行符作為分割。而行内分割則預設為空格等。。

首先說參數

awk [選項參數] 'script' var=value file(s)
或
awk [選項參數] -f scriptfile var=value file(s)
           
選項參數說明:
  • -F fs or --field-separator fs

    指定輸入檔案折分隔符,fs是一個字元串或者是一個正規表達式,如-F:。

  • -v var=value or --asign var=value

    指派一個使用者定義變量。

  • -f scripfile or --file scriptfile

    從腳本檔案中讀取awk指令。

  • -mf nnn and -mr nnn

    對nnn值設定内在限制,-mf選項限制配置設定給nnn的最大塊數目;-mr選項限制記錄的最大數目。這兩個功能是Bell實驗室版awk的擴充功能,在标準awk中不适用。

  • -W compact or --compat, -W traditional or --traditional

    在相容模式下運作awk。是以gawk的行為和标準的awk完全一樣,所有的awk擴充都被忽略。

  • -W copyleft or --copyleft, -W copyright or --copyright

    列印簡短的版權資訊。

  • -W help or --help, -W usage or --usage

    列印全部awk選項和每個選項的簡短說明。

  • -W lint or --lint

    列印不能向傳統unix平台移植的結構的警告。

  • -W lint-old or --lint-old

    列印關于不能向傳統unix平台移植的結構的警告。

  • -W posix

    打開相容模式。但有以下限制,不識别:/x、函數關鍵字、func、換碼序列以及當fs是一個空格時,将新行作為一個域分隔符;操作符和=不能代替和=;fflush無效。

  • -W re-interval or --re-inerval

    允許間隔正規表達式的使用,參考(grep中的Posix字元類),如括号表達式[[:alpha:]]。

  • -W source program-text or --source program-text

    使用program-text作為源代碼,可與-f指令混用。

  • -W version or --version

    列印bug報告資訊的版本。

    ​ 摘自菜鳥教程

CUT

字面意思,剪切文本,常用參數有-d 自定義分割 -c 按字元大小分割 -a -f 分割後顯示的部分

GREP

嗯, 聚合或者說篩選,将某種特定辨別聚合一下

其他常用指令

sort 排序

uniq 篩重 -c

head

tail 等

周末補上吧。。。。

繼續閱讀