linux之簡單文字處理

2021-09-02 02:37:39 字數 2051 閱讀 2899

1.tr命令

tr 命令可以用來刪除一段文字資訊中的某些文字。或者將其進行轉換。

使用方式:

選項	說明

-d 刪除和set1匹配的字元,注意不是全詞匹配也不是按字元順序匹配

-s 去除set1指定的在輸入文字中連續並重複的字元

# 刪除 "hello shiyanlou" 中所有的'o','l','h'

$ echo 'hello shiyanlou' | tr -d 'olh'

# 將"hello" 中的ll,去重為乙個l

$ echo 'hello' | tr -s 'l'

# 將輸入文字,全部轉換為大寫或小寫輸出

$ echo 'input some text here' | tr '[:lower:]' '[:upper:]'

# 上面的'[:lower:]' '[:upper:]'你也可以簡單的寫作'[a-z]' '[a-z]',當然反過來將大寫變小寫也是可以的

2.col命令

col 命令可以將tab換成對等數量的空格鍵,或反轉這個操作。

選項	說明

-x 將tab轉換為空格

-h 將空格轉換為tab(預設選項)

# 檢視 /etc/protocols 中的不可見字元,可以看到很多 ^i ,這其實就是 tab 轉義成可見字元的符號

$ cat -a /etc/protocols

# 使用 col -x 將 /etc/protocols 中的 tab 轉換為空格,然後再使用 cat 檢視,你發現 ^i 不見了

學過資料庫的使用者對這個應該不會陌生,這個命令就是用於將兩個檔案中包含相同內容的那一行合併在一起。

join [option]… file1 file2

選項	說明

-t 指定分隔符,預設為空格

-i 忽略大小寫的差異

-1 指明第乙個檔案要用哪個欄位來對比,預設對比第乙個字段

-2 指明第二個檔案要用哪個欄位來對比,預設對比第乙個字段

# 建立兩個檔案

$ echo '1 hello' > file1

$ echo '1 shiyanlou' > file2

$ join file1 file2

# 將/etc/passwd與/etc/shadow兩個檔案合併,指定以':'作為分隔符

$ sudo join -t':' /etc/passwd /etc/shadow

# 將/etc/passwd與/etc/group兩個檔案合併,指定以':'作為分隔符, 分別比對第4和第3個字段

$ sudo join -t':' -1 4 /etc/passwd -2 3 /etc/group

4.paste

paste這個命令與join 命令類似,它是在不對比資料的情況下,簡單地將多個檔案合併一起,以tab隔開。

paste [option] file…

選項	說明

-d 指定合併的分隔符,預設為tab

-s 不合併到一行,每個檔案為一行

$ echo hello > file1

$ echo shiyanlou > file2

$ echo www.shiyanlou.com > file3

$ paste -d ':' file1 file2 file3

$ paste -s file1 file2 file3

Linux之文字處理

在linux系統中,即使在控制台命令列狀態下,也需要進行大量的文字處理工作。linux系統中幾乎所有的配置檔案都是以純文字形式存在的,我們也要對這些檔案進行編輯工作。linux上常見的文字編輯器有vi vim ed gedit emacs等。本章介紹的文字編輯器就是平常使用最多的vim文字處理器。v...

linux 文字處理

1.文字處理 echo echo e 033 40 35m.背景顏色範圍 40 49 40 黑 41 深紅 42 綠 43 黃色 44 藍色 45 紫色 46 深綠 47 百色 字型顏色範圍 30 39 30 黑 31 紅 32 綠 33 黃 34 藍色 35 紫色 36 深綠 37 百色 eg e...

Linux 文字處理

author janloong do o cat 連線檔案並且列印到標準輸出 sort 給文字行排序 uniq 報告或者省略重複行 cut 從每行中刪除文字區域 paste 合併檔案文字行 join 基於某個共享欄位來聯合兩個檔案的文字行 comm 逐行比較兩個有序的檔案 diff 逐行比較檔案 p...