文本字符處理工具

文件查看命令 cat,tac,rev
cat [options] [file]
  •     -E:顯示行結束符
  •     -n:顯示行號
                   nl file 也能實現相同的功能
  •     -b:顯示非空行號
  •     -A:顯示所有控制字符
  •     -s:壓縮連續的空行成一行
tac 逆序顯示,和cat相反

more:分頁查看文件
  more [options ..] file..
    -d:顯示翻頁及退出提示

less:一頁一頁的查看文件或者stdin輸出
   /文本 搜索 文本
   n/N 跳到下一個或上一個匹配
   less命令是man命令使用的分頁器

head:顯示文本前幾行內容,默認顯示10行,讀10行
打印10行
   head [options] [file]
     options:
  •        -c #: 顯示前多少個字節
  •        -n #: 顯示前幾行

tail:從文本末尾開始顯示內容,默認后10行
  tail [options] [file]   
    options:
  •       -c #:取后幾個字節
  •       -n #:取后幾行
  •       -f  跟蹤文件的 變化,不退出,動態顯示文件的變化
               tail -f -n0 只顯示變化的部分
               tail -f -n0& 轉入后臺執行,釋放終端資源,jobs(查看后臺執行程序的編號), fg 1(將后臺程序轉入前臺)

cut:按列截取文本內容
  cut [options] [file]
    options:
      -d[characters] :指定分隔符,默認tab
      -f#: 指定字段
        #:顯示某一列
        #,#離散的幾列
        #-#連續的列
      -c 按字符切割
      –output-delimiter=string:指明輸出分隔符
echo abcd | rev 倒序顯示

wc:word count
  wc [options] [file]
    默認顯示:xx行數 xxx單詞數 xxx字節數 xx文件名
    options:
      -l 顯示行數
      -w 顯示單詞數
      -c 顯示字節數
      -m 顯示字符數

sort 文本排序
  sort [options] [fil+e]
  •     -n 按數字大小排序
  •     -t character指定分隔符
  •     -k # 指定某一列
  •     -r 逆序排序
  •     -f 忽略大小寫
  •     -u 重復的行只顯示一次


uniq 報告或顯示重復的行(連續行重復才算連續,斷行重復不算連續)
  uniq [options] [file]
  -c 顯示每行重復出現的次數
  •   -d 只顯示重復過的行
  •   -u 僅顯示未重復的行
    (連續且完全相同方為重復)

diff 比較兩個文件有什么區別、生成補丁文件
  diff [option] [file1] [file2]
     diff -u f1 f2 > patch.txt

patch打補丁
  patch -b f1 < patch.txt 或者patch -b f1 patch.txt

grep :文本過濾
     grep,egrep,fgrep(不支持正則表達式)
    作用:文本搜索工具,根據用戶指定的“模式”對目標進行逐行匹配,打印匹配到的行。
    grep [options] pattern [file]
      options:
  •         –color=auto 對匹配到行顯示顏色
  •         -v 只顯示未匹配到的行
  •         -i 忽略字符大小寫
  •         -e 或者,連接不同的匹配條件
  •         -n 對匹配到的行顯示行號
  •         -c 顯示有多少行符合匹配條件
  •         -o 只顯示匹配到的行
  •         -q 靜默模式,不輸出任何信息
  •         -A #:after顯示匹配到行的并顯示后續三行
  •         -B #:before:顯示匹配到的行并顯示前三行
  •         -C #:context:顯示匹配到的行并顯示前后各三行
  •         -w:匹配整個單詞
  •         -E:擴展正則表達式
  •         -F:fgrep不支持正則表達式

正則表達式:由一些特殊字符及文本字符所編寫的模式,其中有些字符(元字符)不表示字符字面意義,而表示控制或通配的功能。

元字符分類
  字符匹配:
  •     . :匹配任意單個字符
  •     []: 匹配指定范圍內的字符
  •     [^]:匹配指定范圍外的字符
  •     [:alnum:] 字母和數字
  •     [:alpha:] 字母
  •     [:lower:] 小寫字母
  •     [:upper:] 大寫字母
  •     [:blank:] 空白字符(空格和制表符)
  •     [:space:] 水平和垂直的空白字符
  •     [:cntrl:] 不可打印的控制字符
  •     [:print:] 可打印的字符
  •     [:digit:] 十進制數字
  •     [:graph:] 可打印的非空白字符
  •     [:punct:] 標點符號
  •     [:xdigit:] 十六進制數字cl

  匹配次數
  •     * 匹配前面的字符任意次
  •       貪婪模式,盡可能多的匹配 
  •     \?匹配0或一次
  •     \+匹配前面字符一次或者更多次
  •     \{#\}匹配前面字符#次
  •     \{m,n\}:匹配前面的字符至少m次,至多n次
  •     \{,n\}:匹配前面的字符至多n次
  •     \{n,\}匹配前面的字符至少n次

注:man 7 regex:正則表達式相關信息

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

(0)
switchswitch
上一篇 2017-02-25 15:43
下一篇 2017-02-25 17:33

相關推薦

  • Nginx之ngx_http_fastcgi_module模塊詳解

    一、ngx_http_fastcgi_module模塊:       nginx支持FastCGI模式       CGI:Common GateWay Interface 公共網管接口,可以理解其為HTTP服務器與其他主機上運行的程序進行通信的接口。       CG…

    2017-06-25
  • 馬哥教育網絡班20期 第8周課程練習

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋:工作于數據鏈路層,實現多個lan之間數據的轉發,隔離沖突域,類似二層交換機。 集線器:工作于物理層,實現設備的接入,數據信號放大、中轉,共享信道。把一個端口接收的所有信號向所有端口分發出去 二層交換機:工作于數據鏈路層,可連接多個lan,根據幀的mac來轉發數據,隔離沖突域…

    Linux干貨 2016-08-15
  • Linux磁盤和文件系統管理

      Linux磁盤和文件系統管理.pdf Part.I 磁盤管理 1.cfdisk   #圖形化的很簡單. 不知道你們用什么 反正我喜歡這個 ^_^ cfdisk – display or manipulate disk partition table 必要參數的具體說明如下: -a用箭頭表示選取,而不是以反白表示 …

    Linux干貨 2016-04-05
  • N26 第八周作業

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋(network bridge) 網橋工作于物理層與數據鏈路層,在終端設備較多的局域網中可以用網橋設備將局域網分離為不同的沖突域(collision domain),減少網絡沖突,提升網絡傳輸效率 集線器(network hub) 集線器具有多個I/O端口,一個端口的輸入信號…

    2017-02-25
  • linux時間

    linux有兩個時間:     系統時間和硬件時間 系統時間: 最簡單的使用date命令顯示當前系統的時間,命令行輸入date。 # date Thu Jun  2 17:11:48 CST 2016 date的具體使用方式:     1. date格式顯示:date …

    Linux干貨 2016-06-03
  • X86平臺系統啟動流程 (Blog 9)

    POST –> BootSeqence(BIOS) –> Bootloader(MBR) –> Kernel(initrd) –> init(/etc/inittab)

    2017-11-27
欧美性久久久久