文本處理工具(一)

文本處理工具

查看工具

cat;tac;rev;more

cat

連接文件,并打印到標準輸出上。

注意:當文件比較大的時候,文本在屏幕上一閃而過,導致無法看清內容,所以對于較大的文件建議結合著more,less等命令結合來用。

使用方法:

-E: 顯示行結束符$
-n: 對顯示出的每一行進行編號  空行也加行號
-A:顯示所有控制符  相當于-ETV
-b:非空行編號  
-s:壓縮連續的空行成一行
-v:非打字符
     顯示^M等這些非打印字符      
-T:顯示制表符 ^I(tab鍵)

快捷鍵:

^s 停止滾屏
 ^q 恢復滾屏
 ^c 中斷命令

示例: cat 1.log 2.log >3.log 把文件1.log和2.log合并打印到3.log并且是按文件順序合并。 #cat合并

nl命令相當于cat -b 同樣可以顯示非空行的編號,有空格也不算非空行。nl是一條命令而不是別名可以用man 查看

文本處理工具(一)

tac 顯示的效果與cat相反,是行相反,就是第一行會變為最后一行。tac也是一條命令不是別名。

文本處理工具(一)

rev 是倒敘顯示的一種命令,我們通常來講是翻轉,他把每一行的字符反過來顯示,但是行還是不變的。

文本處理工具(一)

more

分頁查看文件

使用方法:

-c:顯示前幾行
   more -c  -5 passwd
-d: 顯示翻頁及退出提示
   more -cd -10 passwd

文本處理工具(一)

在加管道的情況下,centos7.3不能翻頁,但是6.9可以用^b進行翻頁

less

一頁一頁地查看文件,跟more比較相似,但是less系統默認允許向前先后翻頁,該命令只對文本文件有效,或者是搜索。

pageup 向上
pagedown 向下

less命令是man命令使用的分頁器

當正在瀏覽一個文件時,也可以使用 :e命令 打開另一個文件。

默認分頁顯示結束的時候也不會退出顯示,需要用Q退出。

常用選項:

-e 文件內容顯示結束自動關閉
-N 顯示每行的行號
-s 將連續的空行壓縮成一行顯示

文件行列操作工具

paste 合并兩個文件同行號的列到一行

一般會與diff命令一起使用來修復文件

-d 分隔符:指定分隔符,默認用TAB
-s : 所有行合成一行顯示
paste f1 f2
paste -s f1 f2

示例 #paste

head

顯示文件前幾行(默認顯示是)行

-c #: 指定獲取前#字節
-n #: 指定獲取前#行
-#:指定行數

顯示文件的前兩行

文本處理工具(一)

并且可以顯示文件的前幾個字節,當文件內容是漢字的時候,一個漢字會占到三個字節。

文本處理工具(一)

tail 顯示后幾行,用法跟head一樣默認也是顯示后十行。

-c #: 指定獲取后#字節
-n #: 指定獲取后#行
-#:
-f: 跟蹤顯示文件新追加的內容,常用日志監控  
   后加

tail可以跟head向結合取特定的某一行 #特定行

當tail-f用于跟蹤日志的時候可以加&讓監控放到后臺運行,不影響其他操作,什么時候有更新會自動彈出來提醒。

cut 用來剪切某一列

-d DELIMITER: 指明分隔符,默認tab
-f FILEDS:
#: 第#個字段
#,#[,#]:離散的多個字段,例如1,3,6
#-#:連續的多個字段, 例如1-6
混合使用:1-3,7
-c按字符切割
--output-delimiter=STRING指定輸出分隔符

通常與tail,head,tr,cat等命令配合使用查詢某一個特定的數據。
比如查看磁盤的利用率

文本處理工具(一)

有一個文件是存隨機字符串的 /dev/urandom 我們也可以從中提取出來一些字母數字做為口令用,但是文件里包含的也有特殊符號,所以要過濾一樣再獲取。

文本處理工具(一)

這是生成10位的口令

分析工具

在分析的工具中,最為普遍的就是數據統計(wc)和整理文本的(sort)。當然也少不了一些對比的工具,比如diff和patch。

wc

統計單詞總數、行總數、字節總數和字符總數。

文本處理工具(一)

第一個代表行數,第二個代表單詞數,第三個代表字符總和。

也可以特殊的選項來顯示不同的統計:

使用-l來只計數行數
使用-w來只計數單詞總數
使用-c來只計數字節總數
使用-m來只計數字符總數

sort 把文件按照一定的方式整理打印到標準輸出上,不改變原始文件。

常用選項:

-r執行反方向(由上至下)整理
-n執行按數字大小整理
-f選項忽略(fold)字符串中的字符大小寫
-u選項(獨特,unique)刪除輸出中的重復行
-t c選項使用c做為字段界定符
-k X選項按照使用c字符分隔的X列來整理能夠使用多次

一般-k -t會配合使用按照某一列來排序

以:為分割符,把第三列按數字大小排序

文本處理工具(一)

最后要提一下文件中使用的兩個命令,patch和diff。diff命令輸出常被保存做成補丁的文件

diff 比較兩文件內容之間的區別

文本處理工具(一)

比較這里兩文件之后的顯示 他明確的指出來第幾行,并進行比較。

通常diff與patch一起使用,為程序打補丁。

diff-ufoo.conf-brokenfoo.conf-works>foo.patch

把差異寫到補丁文件中

patch-bfoo.conf-brokenfoo.patch

用補丁文件對數據恢復或更改

patch復制在其它文件中進行的改變(要謹慎使用),適用-b選項來自動備份改變了的文件。

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

(0)
phosphorphosphor
上一篇 2017-06-01 11:28
下一篇 2017-06-01 14:36

相關推薦

  • Gdevops 2017全球敏捷運維峰會【北京站】限時免費!

    Introduction 全球敏捷運維峰會 打造敏捷與運維領域標桿峰會! 2017年全球敏捷運維峰會(Gdevops, Global Devops Summit)將于2017年在成都、上海、北京、廣州四城全面啟動,本次Gdevops 2017全球敏捷運維峰會【北京站】由上海市經濟和信息化委員會指導,上海市云計算產業促進中心、DBAplus社群主辦,數十家媒體…

    Linux干貨 2017-08-02
  • 馬哥教育網絡班22期+第三周課程練習

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。  ~]# who |sort -nu root     pts/0        2016-08-…

    Linux干貨 2016-08-29
  • rsyslog日志系統

    一、前言  什么是日志?    日志就是歷史事件,按時間序列將發生的事件予以記錄;日志記錄信息記錄的是事件的發生時間以及事件內容  Linux下記錄日志的系統:    syslog:是CentOS 5.0系統上使用的日志系統,有兩類日志,分別是syslogd、klogd;    …

    Linux干貨 2015-06-15
  • lamp簡介

    lamp 構建一個有著動態服務器端技術的網站 LAMP基礎 1)開源領域LAMP組成: L:Linux;A:apache (httpd);M:mysql, mariadb;P:php, perl, python httpd:接收用戶的web請求;靜態資源則直接響應;動態資源為php腳本交由php來運行; php:運行p…

    Linux干貨 2016-11-07
  • 如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果

    命令別名使用alias命令; ~]#alias NAME='COMMAND' 在一個命令中引用另一個命令的執行結果也是bash的特性之一,引用。 方法:$(COMMAND)

    Linux干貨 2016-11-06
  • 計劃任務

    Linux計劃任務、周期性的執行任務

    2017-12-24
欧美性久久久久