簡單的文字處理

2021-08-26 17:51:55 字數 2611 閱讀 4436

本文介紹tr(注意不是tar),coljoinpaste命令。實際上是管道操作命令的延續,所以我們依然將結合管道來熟悉這些命令的使用。

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

使用方式:

tr [option] ... set1 [set2]
常用的選項有:

選項說明

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

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

#刪除hello world中所有的』o』,』l』,』d』

echo 「hello world」 | tr -d 『old』

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

echo "hello" | tr -s 'l'

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

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

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

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

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

格式:cal [option]

常用的選項:

選項說明

-x將tab轉換為空格

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

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

cat -a /etc/protocols

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

cat /etc/protocols | col -x | cat -a

該命令就是用於將兩個檔案中包含相同內容的那一行合併在一起。在資料庫中也有該命令,作用基本相同。

使用方式:join [option] ... file1 file2

常用的選項:

選項說明

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

-i忽略大小的差異

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

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

#建立兩個檔案

echo '1 hello' > file1

echo '2 hello' > 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

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

windows/dos 與 linux/unix 文字檔案一些特殊字元不一致

如斷行符 windows 為 cr+lf(\r\n),linux/unix 為 lf(\n)。使用cat -a 文字 可以看到文字中包含的不可見特殊字元。linux 的\n表現出來就是乙個,而

wind

ows/

dos的

表現為m

, 而w

indo

ws/d

os的表

現為

m,可以直接使用dos2unix和unix2dos工具在兩種格式之間進行轉換,使用file命令可以檢視檔案的具體型別。

不過現在希望你在不使用上述兩個轉換工具的情況下,使用前面學過的命令手動完成 dos 文字格式到 unix 文字格式的轉換。

tr -d '^m'

簡單的文字處理

這一節我們將介紹這幾個命令tr 注意不是tar col,join,paste。實際這一節是上一節關於能實現管道操作的命令的延續,所以我們依然將結合管道來熟悉這些命令的使用。tr 命令可以用來刪除一段文字資訊中的某些文字。或者將其進行轉換。使用方式 tr option set1 set2 常用的選項有...

簡單的文字處理

tr命令可以用來刪除一段文字資訊中的某些文字。或者將其進行轉換。tr option set1 set2 常用的選項 操作舉例 刪除 hello shiyanlou 中所有的 o l h echo hello shiyanlou tr d olh 將 hello 中的ll,去重為乙個l echo he...

linux之簡單文字處理

1.tr命令 tr 命令可以用來刪除一段文字資訊中的某些文字。或者將其進行轉換。使用方式 選項 說明 d 刪除和set1匹配的字元,注意不是全詞匹配也不是按字元順序匹配 s 去除set1指定的在輸入文字中連續並重複的字元 刪除 hello shiyanlou 中所有的 o l h echo hell...