Linux 學習日記 6: 簡單文本處理

1.tr 命令shell

tr 命令能夠用來刪除一段文本信息中的某些文字。或者將其進行轉換。數據庫

使用方式:spa

tr   [option]...  SET1  [SET2]it

經常使用的選項有:io

選項         說明ast

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

-s         去除set1指定的在輸入文本中連續並重復的字符file

操做舉例:數據

# 刪除 "hello shiyanlou" 中全部的'o','l','h'
$ echo 'hello shiyanlou' | tr -d 'olh'
# 將"hello" 中的ll,去重爲一個l
$ echo 'hello' | tr -s 'l'
# 將輸入文本,所有轉換爲大寫或小寫輸出
$ cat /etc/passwd | tr '[:lower:]' '[:upper:]'
# 上面的'[:lower:]' '[:upper:]'你也能夠簡單的寫做'[a-z]' '[A-Z]',固然反過來將大寫變小寫也是能夠的

2.col 命令文件

col 命令能夠將Tab換成對等數量的空格建,或反轉這個操做。

使用方式:

col [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

3.join命令

學過數據庫的用戶對這個應該不會陌生,這個命令就是用於將兩個文件中包含相同內容的那一行合併在一塊兒。

使用方式:

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
相關文章
相關標籤/搜索