Linux檔案管理知識:文字處理

roc_guo發表於2023-11-09


上篇文章詳細介紹了 系統中查詢檔案的工具或者命令程式的相關操作內容介紹。那麼,今天呢,這篇文章圍繞 來闡述。

眾所周知,所有Linux 作業系統都離不開一個核心原則,那就是它是由很多種檔案組成的,那麼,Linux 系統的任何操作就離不開文字檔案的處理。所以,它有很多命令工具用來處理文字的。在這篇文章中我們主要介紹下用於文字格式化輸出及其它常用的命令工具。

常見的命令工具如下:

命令(工具)名稱

描述

cat

用於連線檔案並且列印到標準輸出

sort

用於給文字行排序

uniq

用於報告或者省略重複行

cut

用於從每行中刪除文字區域

paste

用於合併檔案文字行

join

用於基於某個共享欄位來聯合兩個檔案的文字行

comm

用於逐行比較兩個有序的檔案

diff

用於逐行比較檔案

patch

用於給原始檔案打補丁

tr

用於翻譯或刪除字元

sed

用於篩選和轉換文字的流編輯器

aspell

用於互動式拼寫檢查器

接下來,我們先回顧下Linux 系統文書處理工具。

Linux 文書處理工具

說到Linux 文書處理工具或者程式,我相信大家首先提到就是vim 了。是的,沒錯!但是文字還可以用來做什麼呢?這個值得大家思考!

在這裡列舉一些用途:

²   透過純文字格式形式編寫檔案;

²   另一種文字檔案格式就是網頁,目前最常見的就是透過超文字標記語言HTML 或可擴充套件的標記語言XML 作為標記語言來實現的;

²   基於文字的電子郵件email

²   純文字格式格式化輸出;

²   軟體開發裡的程式原始碼;.

cat-A 命令程式

cat-A 命令程式,可將文字非列印字元(比如說控制字元tab 、空格、回車字元等)顯示出來。

例項1

第一步:建立測試檔案或者例項

[root@linuxprobe ~]$ cat > test1.txt

The food is delicious.    

[root@linuxprobe ~]$

備註:

建立測試檔案test1.txt ,輸入cat 命令指定了用於重定向輸出的檔案test1.txt ,隨後輸入文字內容“     The   ”,最後回車Enter 鍵;使用Ctrl+D 組合鍵指示cat 命令。

需要注意的是測試檔案test1.txt 文字內容的開頭和末尾分別使用了一個tab 字元以及一些空格。

第二步:剛剛建立的測試檔案test1.txt 文字內容透過cat-A 命令顯示出來:

[root@linuxprobe ~]$ cat -A test1.txt

^IThe food is delicious.. $

[root@linuxprobe ~]$

結論:

在輸出的顯示結果中我們可以分析:

文字中的tab 字元由ˆI 字元來顯示出來。

文字末尾的空格由$ 字元來顯示出來。

例項2

第一步:建立測試檔案或者例項

[root@linuxprobe ~]$ cat > test2.txt

It tastes delicious,

 

 

and makes one run at the mouth.    

[root@linuxprobe ~]$

[root@linuxprobe ~]$ cat -ns       // -n :給文字行新增行號

-s :禁止輸出多個空白行

1 It tastes delicious,

2

3 and makes one run at the mouth.

[root@linuxprobe ~]$

備註:

重新建立了一個新的測試檔案test2.txt,其文字內容為It tastes delicious,

and makes one run at the mouth. 由兩個空白行區分開。經過cat -ns命令程式執行處理(給文字行新增行號,並將禁止輸出多個空白行輸出)輸出顯示出來。

sort 命令程式

sort 命令程式針對指定的文字內容或命令列中指定的一個或多個內容進行排序,並將排序結果標準輸出顯示出來。

sort 程式來處理標準輸入例項:

[root@linuxprobe ~]$ sort test3.txt

2

3

1

[root@linuxprobe ~]$ ccat test3.txt

將test1.txt test2.txt test3.txt三個文字檔案合併為一個有序的檔案sorted _test_list.txt。

Sort 命令程式的常見選項引數如下表:

選項

長選項

描述

-b

--ignore-leading-blanks

預設情況下,對整行進行排序,從每行的第一個字元開始。這個選項導致sort 程式忽略每行開頭的空格,從第一個非空白字元開始排序。

-f

--ignore-case

讓排序不區分大小寫。

-n

--numeric-sort

基於字串的數值來排序。使用此選項允許根據數字值執行排序,而不是字母值。

-r

--reverse

按相反順序排序。結果按照降序排列,而不是升序。

-k

--key=field1[,field2]

對從field1 到field2 之間的字元排序,而不是整個文字行。看下面的討論。

-m

--merge

把每個引數看作是一個預先排好序的檔案。把多個檔案合併成一個排好序的檔案,而沒有執行額外的排序。

-o

--output=file

把排好序的輸出結果傳送到檔案,而不是標準輸出。

-t

--field-separator=char

定義域分隔字元。預設情況下,域由空格或製表符分隔。

 

這篇文章主要介紹了cat及sort命令程式,它們是如何被用來執行文書處理操作的。

Linux 系統知識博大精深,所以我在此強烈建議大家可以參考下 這本書,對於linux系統文書處理層面的介紹很詳細!那麼關於Linux系統中文書處理命令的操作及運用介紹先告一段落了,後期文章會一一補發。

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2993585/,如需轉載,請註明出處,否則將追究法律責任。

相關文章