1. 程式人生 > >文字處理工具1

文字處理工具1

本章目錄:
一.各種文字工具來檢視、分析、統計文字
二.grep
三.正則表示式
四.擴充套件正則表示式
五.egrep
一.各種文字工具來檢視、分析、統計文字
 1.抽取文字的工具:
  1)檔案檢視命令:less和cat
   (1)cat -E 檔案1 [檔案2...]:
    a.顯示換行符"$"
    b.換行的原因:讀取檔案讀到"$"就換行,"$"表示一行的結束
    c.檔案的每一行都由"$",預設不顯示,用"-E"才會顯示
   (2)cat n 檔案1 [檔案2...]:
    a.輸出的結果顯示行號,空行也參與排列
    b.檔案的原文不包含行號
    c.cat /etc/passwd > /app/passwd:將/etc/passwd檔案的內容輸出後並顯示行號,將顯示行號的檔案內容重定向到/app/passwd這個新檔案當中
   (3)cat -b 檔案1 [檔案2...]:
    a.輸出的結果顯示行號,空行不參與排列
    b.檔案的原文不包含行號
   (4)cat -s 檔案1 [檔案2...]:
    a.將連續的空行壓縮成一個空行
    b.如果是從windows傳輸過來的檔案,則無效
   (5)cat -v 檔案1 [檔案2...]:
    a.在每一行的末尾顯示"^M"的符號
    b.如果是從windows傳輸過來的檔案,使用"-v"會在每一行的末尾顯示"^M"的符號
    c.如果是從windows傳輸過來的檔案,使用"-vE",會在每一行的末尾顯示"^M$"的符號
    d.如果是linux系統的檔案,則無效
    (rz:將windows下的檔案傳輸到當前的目錄下)
    (rpm -qf:檢視檔案來自於哪一個安裝包)
   (6)cat -T 檔案1 [檔案2...]:將Tab轉換成"^I"符號
   (7)cat -A 檔案1 [檔案2...]:
    a.顯示所有控制符
    b."-A"的功能等同於"-EvT"
   (8)tac 檔案1 [檔案2...]:將檔案倒序輸出(最好不要加選項)
  2)more
  3)less:分頁檢視檔案
  4)head:檢視檔案的前多少行
   (1)head 檔案1 [檔案2...]:只顯示檔案前10行
   (2)head -n 數字# 檔案1 [檔案2...] 或者 -數字# 檔案1 [檔案2...]:
    a.指定顯示檔案的前#行
    b.當結合別的選項使用的時候不能使用第二種方法
   (3)head -c # 檔案1 [檔案2...]:指定顯示檔案的前#個位元組
  5)tail:檢視檔案的最後多少行
   (1)tail+檔案1[+檔案2...]:只顯示檔案最後10行
   (2)rail -n 數字# 檔案1 [+檔案2...] 或者 tail -數字# 檔案1 [檔案2...]:
    a.指定顯示檔案的最後#行
    b.當結合別的選項使用的時候不能使用第二種方法
   (3)tail -f 檔案:
    a.根據檔案的實時變化實現監控的功能:
    b.在監控端使用"tail [-n #] -f passwd"命令顯示出檔案最後#行,當有新內容追加到檔案中的時候,監控端會自動顯示出來
    c.當檔案原有的內容被覆蓋的時候,監控端之前所顯示的內容並不會消失,但實際檔案已經被覆蓋
    d.常用來被用作監控日誌
   (4)tail -c# 檔案1 [檔案2...]:
    a.指定顯示檔案的最後#個位元組
    b.注意控制字元也算是一個位元組
    c.例如在每一行的最後會有"$"符號,在顯示最後的#個位元組的時候也包含"$"符號,但是"$"符號預設在不加任何選項的時候是不會顯示的
  6)cut:檢視檔案的某些特定列
   (1)cut -d[分隔符] -f#1[#2,#3...]:將輸出的內容每一行以分隔符為分割標記,輸出第#1列,第#2列的內容
   (2)cut -d[分隔符] -f#n1-#n2:將輸出的內容每一行以分隔符為分割標記,輸出連續的第n1列島第n2列的內容
   (3)cut -d[分隔符] #-#,#,#:將前兩種方法綜合使用,用",”分隔
   (4)cut -c #1 [#2...]:每一行按字元切割,輸出每一行的第#個字元
   (5)--output-delimiter=字串:
   a.指定每一行的輸出的分隔符
   b.不能單獨使用
   (6)前三種用法,如果分隔符為 " ":表示以空格為分隔符
   (7)前三種用法不加分隔符,預設分割符為Tab         
  7)paste:合併兩個檔案同一行的內容到一行顯示出來
   (1)paste -d分隔符 檔案1 [檔案2...]:為多個檔案同一行的內容以指定的分隔符為分割顯示出兩個檔案的內容
   (2)paste -s 檔案1 [檔案2...]:
    a.把同一個檔案的所有內容顯示為一行,同時將同一個檔案換行的"$"符號轉換為Tab
    b.也可以將同一個檔案的內容由縱向輸出轉換為橫向輸出(這個功能"tr"命令也可以實現)
 2.文字統計工具:
  1)wc:依次顯示:行數,單詞數,位元組數
   (1)wc -l 檔案1 [檔案2...]:只統計行數,多個檔案會統計所有檔案的總行數
 (2)wc -w 檔案1 [檔案2...]:只統計單詞的總數,多個檔案會統計所有檔案的單詞總數
 (3)wc -c 檔案1 [檔案2...]:
    a.只計數字節總數,多個檔案會統計所有檔案的位元組總數
    b.utf-8中一個字母一個位元組,一個漢字三個位元組
    c.隱藏的"$"符也算一個位元組
 (4)wc -m 檔案1 [檔案2...]:
    a.只計數字符總數,多個檔案會統計所有檔案的字元總數
    b.utf-8中一個字母一個字元,一個漢字一個字元
    c.隱藏的"$"符也算一個字元
    d.特殊字元算一個位元組也算是一個字元
  2)sort:對輸出的內容進行排序,並不改變檔案原有的內容
  (1)sort -r 檔案1 [檔案2...]:將輸出的內容按反方向(由上至下)排序,多個檔案會合並在一起並排序
(b)sort -n 檔案1 [檔案2...]:將輸出的內容按照數字的大小排列,多個檔案會合並在一起並排序
(c)sort -f 檔案1 [檔案2...]:排列時忽略(字串中的)字元大小寫,多個檔案會合並在一起並排序
(d)sort -u 檔案1 [檔案2...]:將輸出的內容中的所有重複行顯示為一行,多個檔案會合並在將所有檔案的重複行顯示為一行
(e)sort -t[分隔符] -k#1[#2,#3...] 檔案1
         將輸出的內容每一行以分隔符為分割標記,依次按照第#1列,第#2列的內容進行排序
(f)-k X 選項按照使用c字元分隔的X列來整理能夠使用多次 
  3)uniq:只將輸出的內容中前後連續重複的行顯示為一行
   (1)uniq -c 檔案1 [檔案2...]: 顯示每行重複出現的次數,多個檔案會合並統計
   (2)uniq -d 檔案1 [檔案2...]: 僅顯示重複過的行,多個檔案會合並統計
   (3)uniq -u 檔案1 [檔案2...]: 僅顯示不曾重複的行,多個檔案會合並統計
   (4)常和sort 命令一起配合使用:一般先使用sort,將重複的行排列在一起,再使用"uniq"命令
   (rpm -qa:列出系統安裝的所有軟體包)
  4)diff:比較兩個檔案之間的區別
   (1)diff 檔案1 檔案2:比較兩個檔案的不同點
   (2)利用補丁包生成新檔案:
    第一步:diff -u 舊檔案 新檔案 > 補丁包的名稱:生成補丁包
    第二部:patch -b 舊檔案 補丁包的名稱
    執行第二步後,系統會把舊檔案的名字更改為"檔名.orig",新檔案的名稱改為舊檔案的名稱
  5)文字統計工具通常要和管道符一起使用
附加:
網站部署過程:
[
[email protected]
~]# service httpd restart
[[email protected] ~]# iptables -F
[[email protected] ~]# cd /var/www/html/
[[email protected] html]# vim index.html   
/var/log/http/access_log:網站的訪問日誌

相關推薦

文字處理工具1

本章目錄: 一.各種文字工具來檢視、分析、統計文字 二.grep 三.正則表示式 四.擴充套件正則表示式 五.egrep 一.各種文字工具來檢視、分析、統計文字  1.抽取文字的工具:   1)檔案檢視命令:less和cat    (1)cat -E 檔案1 [檔案2...

Linux中sed文字處理工具原理及使用

Sed是什麼? Sed是一種非互動式的流編輯器,可動態編輯檔案;流編輯器則會在編輯器處理資料之前基於預先提供的一組 規則來編輯資料流 Sed本身是一個管道命令,可以分析 standard input 的,主要是用來分析關鍵字的使用、統計等,此外還可 以將資料進行替換、刪除、選中、選取

8種Python文字處理工具

文字處理一般包括詞性標註,句法分析,關鍵詞提取,文字分類,情感分析等等,這是針對中文的,如果是對於英文來說,只需要基本的tokenize。本文為大家提供了以下這些工具包。 1.Jieba 【結巴中文分詞】做最好的 Python 中文分片語件 其功能包括支援三種分詞模式(精確模式、全模式、搜尋

學習筆記之shell的文字處理工具

1.比較檔案的不同diff,comm,cmp 首先建立兩個檔案。內容如下 <span style="font-size:18px;">[[email protected] Practice]# cat Example1 abc def [[email

文字處理工具 sed命令

我們聊聊linux的另一個文字處理工具Sed。 Sed簡介 sed:是一個編輯器,是一個強大的檔案處理工具。 sed作用:用來替換、刪除,更新檔案中的內容。sed能自動處理一個或多個檔案。 sed原理:sed以文字的行為單位進行處理,一次處理一行內容。首先sed把當前處理的行儲存

Sed 文字處理工具原理及使用

Sed是一種非互動式的流編輯器,可動態編輯檔案;流編輯器則會在編輯器處理資料之前基於預先提供的一組規則來編輯資料流。 Sed本身是一個管道命令,可以分析 standard input 的,主要是用來分析關鍵字的使用、統計等,此外還可以將資料進行替換、刪除、選中、選取特定行等功能 Sed主要用

文字處理1.1.1】-判斷字串型別並返回相應型別

def formats(st): if '.' in st or 'e' in st or 'E' in st: try: return float(st) except: return st

【linux】--- 高階命令列文字處理工具 sort

二、sort命令  sort 命令對 File 引數指定的檔案中的行排序,並將結果寫到標準輸出。如果 File 引數指定多個檔案,那麼 sort 命令將這些檔案連線起來,並當作一個檔案進行排序。 選項與引數: -f  :忽略大小寫的差異,例如 A 與 a 視為編碼相同

【linux】--- 高階命令列文字處理工具 cut

第一: cut命令 cut : 可以從一個文字檔案或者文字流中提取文字列 echo $PATH 選項 -b:僅顯示行中指定直接範圍的內容; -c:僅顯示行中指定範圍的字元; -d:指定欄位的分隔符,預設的欄位分隔符為“TAB”; -f:顯示指定欄位的內容; --comple

Linux Shell 文字處理工具集錦(重點推薦)

        依稀記得某人曾今問過關於linux中的高階用法,當時覺得一臉懵逼,後來才發現,所謂的高階用法,無非是可以被python替換的shell基礎指令碼,及處理10GB資料量以下的linux基礎命令。現在看到了就整理了一下。 1.shell特殊符號

文字處理工具 grep awk sed完全解讀

文字處理工具 grep awk sed完全解讀 正則表示式單字元 1特定字元 : 某個具體的字元 'a' 2範圍內字元 : [a-zA-Z] 3任意字元 : . // grep . file // 如果點放到中括號中[.] 或者用反斜槓'\.' 則它不代表任意一個字元,而代表它本身 例如 grep '

Sed文字處理工具總結

文字處理工具sed sed工具 用法: sed[option]… ‘script’ inputfile… 用法: 不加-i時僅僅是列印到螢幕顯示,加-i可以修改檔案,一般加-i.bak備份一個.bak檔案 常用選項: -n不輸出模式空間內容到螢幕,即不自動列印 -e多點編輯 -f /

Centos7文字處理工具

## 實驗一:檢視檔案內容和比較兩檔案 **目的** 熟練使用cat、less、head、tail、diff等命令。   **前提** 可用的centos7系統,連線網路。   **命令介紹**   **1、cat命令:檢

linux 下的shell 文字處理工具

        grep、sed和awk都是文字處理工具,雖然都是文字處理工具單卻都有各自的優缺點,一種文字處理命令是不能被另一個完全替換的,否則也不會出現三個文字處理命令了。只不過,相比較而言,sed和awk功能更強大而已,且已

linux(ubuntu)文字處理工具及正則表示式

grep egrep(文字過濾) fgrep(不支援正則) 格式 grep [選項] 模式 檔案 選項:--color 指定顏色          -v反向匹配,顯示不能被模式匹配到的行       &n

Linux正則與文字處理工具(10)

正則表示式 (Regular Expression, RE, 或稱為常規表示式)是通過一些特殊字元的排列,用於『查詢/替換/刪除』一行或多行文字或字串,簡單的說,正則表示式就是用在字串的處理上面的一種『表示公式』,正則表示式並不是一個工具程式,而是一個對字串處理的標準依據,如果您想要以正則表示式的方式處理字串

python3.6 +tkinter GUI程式設計 實現介面化的文字處理工具

更新: 2017.07.17  補充滾動條、win批處理拉起py 2017.08.13  新增自定義圖示 --------原創      blogs:    http://www.cnblogs.com/chenyuebai    -------- 一、背景:

一個很好用的文字處理工具——Notepad++ 快捷鍵

F11 全屏模式 F12 便籤模式 Ctrl+L 刪除當前行 Ctrl+Q 行註釋 Ctrl+Shift+Q 塊註釋 Ctrl+W 關閉當前檔案 Ctrl+Enter 單詞提示自動完成 Ctrl+Alt+F 摺疊當前程式碼層次 Ctrl+Alt+

Shell指令碼學習指南(四)——文字處理工具

grep 字串查詢,預設用BRE grep [options] ‘string’ filename -E 使用ERE -a 以文字檔案方式搜尋 -c 計算找到的符合行的次數 -i 忽略大小寫 -n 順便輸出行號 -v 反向選擇,即顯示不包含匹配文字的所有行

第六 文字處理工具

 文字處理工具 diff diff         file file1        ##比較兩個檔案的不同     -c                ##顯示上下文周圍的行     -u                ##按照一格式統一輸出生成補丁    -r