linux中文本處理工具

  對于linux來講,文本處理是非常重要的,因為linux系統就是由無數的文件組成的,linux中一切皆文件。文件的處理方式有很多種,所以就有眾多的文本處理工具,各自作用于不同的文本處理方式。


一、查看文件命令:

   cat命令:處理顯示文件內容,不改變原文件

   cat命令常用于查看文件內容,也可通過不同的選項實現不同的顯示效果,只執行cat命令是會提供給用戶一個交互式的界面,輸入什么內容就顯示什么內容。

 格式:cat [選項] …文件…

 常用選項:

      -n:在顯示的內容前加上行號

      -A:顯示所有的控制符

      -E:顯示行結束符$

      -b:非空行編號

      -s:壓縮連續的空行為一行

示例:

[root@host ~]# cat f1

abcd 

aabbccdd

[root@host ~]# cat -n f1

     1 abcd 

     2 aabbccdd

     3

[root@host ~]# cat -A f1

abcd $

aabbccdd$

$

[root@host ~]# cat -E f1

abcd $

aabbccdd$

$

[root@host ~]# cat -b f1

     1 abcd 

     2 aabbccdd


二、分頁查看文件命令:


  more命令:分頁查看文件內容,在查看文件時,用時候會遇到文件特別大,一屏根本顯示不完,這時我們就用到了分頁查看工具,可以方便的把文件進行分頁,從而方便查看

 格式:  more [選項…] 文件..

 常用選項:

      -d:屏幕下方顯示提示信息

  用法:使用回車鍵向下翻一行,使用空格鍵向下翻一屏

截圖:

所示.png

 

less命令:一頁頁地查看文件內容標準輸出,提供了比more更為強大的功能

查看使用的命令有:

  可以向上和向下查看,也可進行搜索,

  PgUp:向上翻一屏

  PgDn:向下翻一屏

  回車鍵、下箭頭:向下翻一行

  上箭頭:向上翻一行

  搜索功能

  也可插入 / 或 ?在其后輸入要查找的內容

  /從光標向下搜索

  ?從光標處向上搜索

   可結合n/N跳到下一個或上一個匹配的項


三、顯示文件前幾行、后幾行的內容的命令


  head命令:顯示文件的前幾行內容(默認顯示前十行)

   格式:head [選項].. 文件..

   常用選項;

        -c #:指定獲取前#個字節

        -n #:指定獲取錢#行

        -#:指定行數


示例:

[root@host ~]# head -c 100 /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nol[root@host ~]# head -n 3 /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

[root@host ~]# head -3 /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

[root@host ~]#


   tail命令:顯示文件后幾行的內容(默認為后十行)  

  格式: tail [選項]…文件…

  常用選項:

       -c #:指定后獲取#個字節

       -n #:指定獲取后#行

       -#:指定后#行

       -f:跟蹤顯示文件新添內容的變化,多用于監控日志

  用法與head命令相同


四、按列抽取文本命令與合并文本命令


     cut命令:按列抽取文件內容

   格式:cut [選項]…文件…

 常用選項:

       -d 分隔符:指明分隔符,默認為tab

       -f 數字:

         #:指定第#個字段

         #,#[#]:離散的多個字段,例如1,3,5

         #-#:連續的字段 例如1-4

         混合使用:1-3,5

       -c:按字符分割

       –output-delimiter=STRING 指定輸出分割符

示例:

[root@host ~]# cut -d: -f1,3-5 /etc/passwd

root:0:0:root

bin:1:1:bin

daemon:2:2:daemon

adm:3:4:adm

[root@host ~]# cut -c1-10 /etc/passwd

root:x:0:0

bin:x:1:1:

daemon:x:2

adm:x:3:4:

[root@host ~]# cut -d: -f1,2 –output-delimiter=# /etc/passwd

root#x

bin#x

daemon#x

adm#x


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


   格式: paste [選項]…文[件]…

   常用選項:

         -d 分隔符:指定分隔符,默認為tab

         -s:所用行合并成一行顯示

示例:

[root@host ~]# cat f1 f2

abcd 

auuuuy

00000000000

abcd 

auuuuy

00000000000

[root@host ~]# paste f1 f2

abcd abcd 

auuuuy auuuuy

00000000000 00000000000

[root@host ~]# paste -s f1 f2

abcd auuuuy 00000000000

abcd auuuuy 00000000000



五、分析文本工具:

     wc命令:收集文本統計數據,能夠統計出文件的單詞數、行數、字符數、字節數,作用對象可以是文本也可以是標準輸出,常與管道結合使用。

  格式:wc [選項]

默認不加選項將輸出行數、單詞數、字符數

   選項;

      -l:統計行數

      -c:統計字節數

      -w:統計單詞數

      -m:統計字符數(當統計漢字時與-c選項有區別)

示例:

[root@host ~]# cat /etc/passwd | wc

     47      91    2448

[root@host ~]# cat /etc/passwd | wc -l

47

[root@host ~]# cat /etc/passwd | wc -c

2448

[root@host ~]# cat /etc/passwd | wc -w

91


     sort命令:文本排序命令,把處理過的內容顯示出來,不會改變源文件內容

   格式: sort [選項] 文件

   常用選項:

        -r:反向排序(由上至下)

        -n:按數字大小排序

        -f:忽略字符大小寫

        -u:刪除輸出中重復的行

        -t 分隔符:指定分割符

        -k 數字段:按照-t指定的分隔符確定以哪一列進行排序

示例:

[root@host ~]# cat f1

123

23

45

4

[root@host ~]# sort f1

123

23

4

45

[root@host ~]# sort -n f1

4

23

45

123

[root@host ~]# sort -nr f1

123

45

23

4

[root@host ~]# sort -t: -k 3 /etc/passwd

root:x:0:0:root:/root:/bin/bash

zhang:x:1000:1000:zhang:/home/zhang:/bin/bash

bash:x:1001:1001::/home/bash:/bin/bash

basher:x:1002:1002::/home/basher:/bin/bash


   uniq命令:從輸入中刪除重復的行(連續的且完全相同的為重復)

  格式: uniq [選項]…[文件]…

  選項:

    -c:顯示重復的行的次數

    -d:僅顯示重復的行

    -u:僅顯示不重復的行

示例:

 

[root@host ~]# cat f1

45

23

45

45

[root@host ~]# uniq -c f1

      1 45

      1 23

      2 45

[root@host ~]# uniq -d f1

45

[root@host ~]# uniq -u f1

45

23

           

   diff命令:diff命令用于比較文件的內容,特別是比較兩個版本不同的文件以找到改動的地方。diff在命令行中打印每一個行的改動。diff程序的輸出被稱為補丁 ,因為Linux系統中還有一個patch程序,可以根據diff的輸出將誤刪除的diff格式的其中一個文件恢復回來,不過用于恢復的文件會飛改名。

  格式: diff [選項] 文件1 文件2…

    選項:

       -u:在恢復diff格式文件時選用

    patch命令:復制在其他文件中進行的改變

    選項:

        -b:自動備份改變了的文件

示例:

[root@host ~]# cat f1 f2

auuuuy

00000000000

abcd 

auuuuy

00000000000

[root@host ~]# diff f1 f2

0a1

> abcd 

1a3

[root@host ~]# diff -u f1 f2 > f.log

[root@host ~]# rm -f f1

[root@host ~]# patch -b f2 f.log 

patching file f2

Reversed (or previously applied) patch detected!  Assume -R? [n] y

[root@host ~]# ls

anaconda-ks.cfg  Documents  f2       f.log  Pictures  Templates  wc

Desktop          Downloads  f2.orig  Music  Public    Videos

[root@host ~]# cat f2 f2.orig 

auuuuy

00000000000

abcd 

auuuuy

00000000000


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

(0)
ZJMZJM
上一篇 2016-08-08
下一篇 2016-08-08

相關推薦

  • N26 第二周

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。  [1]mkdir : make directories            mkdir [OPTION]… DIRECTORY… &n…

    Linux干貨 2017-02-05
  • net25-第12周作業

    1、請描述一次完整的http請求處理過程; – (1)客戶端發送http請求– (2)服務端建立或處理連接,接受請求或拒絕請求– (3)接受請求:接受客戶端對服務器某一資源的請求– (4)處理請求:對請求報文進行解析,獲取客戶端請求的資源及請求方法等相關信息– (5)訪問資源:獲取請求報文中請求的資…

    Linux干貨 2017-05-15
  • Linux常見文件管理命令

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。3、請使用命令行展開功能來完成以下練習:(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d(2)、創建/tmp/mylinux目錄下的:mylinux/├── bin├── boot│??…

    2018-02-26
  • keepalived相關配置示例(二)

    虛擬服務器配置實驗: 兩臺centos6主機為web service系統為CentOS6.8 n1:172.16.253.87 n2:172.16.252.5都安裝httpd yum install -y httpd[root@n1 ~]#vim /var/www/html/index.html<h1>Real Server 1</h1&g…

    Linux干貨 2017-06-28
  • Linux基礎知識之命令的語法通用格式

    #COMMAND OPTIONS ARGUMENTS 1.COMMAND:   (1)發起一命令:請求內核將某個二進制程序運行為一個進程: 程序–>進程 靜態–>動態 (有聲明周期)   (2)命令本身是一個可執行的程序文件:二進制格式的文件,有時候會調用共享庫文件 多數系統程序文件都存放在:/bin,…

    Linux干貨 2016-07-07
  • 互聯網安全之sudo使用指南

    一、前言 sudo是什么? sudo是系統管理指令;由于root用戶權限過大,在實際生產過程中很少使用root用戶直接登錄系統,而是使用普通用戶登錄系統;但是如果普通用戶要對系統進行日常維護操作時需要su到root用戶,為了提高安全性,可以使用sudo授權某一用戶在某一主機以某一用戶身份運行某些命令;從而減少root用戶密碼知曉人,提高系統安全性。 &nbs…

    2015-06-23
欧美性久久久久