欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux tr命令的使用方法

 更新時間:2020年02月24日 15:57:07   作者:滄海一笑-dj  
這篇文章主要介紹了Linux tr命令的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

01. 命令概述

tr命令可以對來自標準輸入的字符進行替換、壓縮和刪除。它可以將一組字符變成另一組字符,經常用來編寫優(yōu)美的單行命令,作用很強大。

tr的英文全稱是“ transform ”,即轉換的意思。tr他只能從標準輸入中讀取數據,因此,tr要么將輸入文件重定向到標準輸入,要么從管道讀入數據。

注意:tr類似于sed命令,但是比sed簡單,所以tr能實現的功能,sed都能實現。

02. 命令格式

用法:tr [選項]... SET1 [SET2]

03. 常用選項

從標準輸入中替換、縮減和/或刪除字符,并將結果寫到標準輸出。

  -c, -C, --complement        首先補足SET1
  -d, --delete            刪除匹配SET1 的內容,并不作替換
  -s, --squeeze-repeats    如果匹配于SET1 的字符在輸入序列中存在連續(xù)的
                重復,在替換時會被統(tǒng)一縮為一個字符的長度
  -t, --truncate-set1        先將SET1 的長度截為和SET2 相等
      --help        顯示此幫助信息并退出
      --version        顯示版本信息并退出

SET 是一組字符串,一般都可按照字面含義理解。解析序列如下:

  \NNN    八進制值為NNN 的字符(1 至3 個數位)
  \\        反斜杠
  \a        終端鳴響
  \b        退格
  \f        換頁
  \n        換行
  \r        回車
  \t        水平制表符
  \v        垂直制表符
  字符1-字符2    從字符1 到字符2 的升序遞增過程中經歷的所有字符
  [字符*]    在SET2 中適用,指定字符會被連續(xù)復制直到吻合設置1 的長度
  [字符*次數]    對字符執(zhí)行指定次數的復制,若次數以 0 開頭則被視為八進制數
  [:alnum:]    所有的字母和數字
  [:alpha:]    所有的字母
  [:blank:]    所有呈水平排列的空白字符
  [:cntrl:]    所有的控制字符
  [:digit:]    所有的數字
  [:graph:]    所有的可打印字符,不包括空格
  [:lower:]    所有的小寫字母
  [:print:]    所有的可打印字符,包括空格
  [:punct:]    所有的標點字符
  [:space:]    所有呈水平或垂直排列的空白字符
  [:upper:]    所有的大寫字母
  [:xdigit:]    所有的十六進制數
  [=字符=]    所有和指定字符相等的字符

僅在SET1 和SET2 都給出,同時沒有-d 選項的時候才會進行替換。
僅在替換時才可能用到-t 選項。如果需要SET2 將被通過在末尾添加原來的末字符的方式
補充到同SET1 等長。SET2 中多余的字符將被省略。只有[:lower:] 和[:upper:]
以升序展開字符;在用于替換時的SET2 中以成對表示大小寫轉換。-s 作用于SET1,既不
替換也不刪除,否則在替換或展開后使用SET2 縮減。

字符范圍

指定字符串1或字符串2的內容時,只能使用單字符或字符串范圍或列表。

[a-z] a-z內的字符組成的字符串。

[A-Z] A-Z內的字符組成的字符串。
[0-9] 數字串。

\octal 一個三位的八進制數,對應有效的ASCII字符。
[O*n] 表示字符O重復出現指定次數n。因此[O*2]匹配OO的字符串。

tr中特定控制字符的不同表達方式
速記符含義八進制方式

\a Ctrl-G 鈴聲\007
\b Ctrl-H 退格符\010

\f Ctrl-L 走行換頁\014
\n Ctrl-J 新行\(zhòng)012

\r Ctrl-M 回車\015
\t Ctrl-I tab鍵\011

\v Ctrl-X \030

04. 參考示例

4.1 將輸入字符由大寫轉換為小寫

[deng@localhost ~]$ echo "HELLO ITCAST" | tr 'A-Z' 'a-z'
hello itcast
[deng@localhost ~]$ 

‘A-Z' 和 ‘a-z'都是集合,集合是可以自己制定的,例如:‘ABD-}'、‘bB.,'、‘a-de-h'、‘a-c0-9'都屬于集合,集合里可以使用'\n'、'\t',可以可以使用其他ASCII字符。

4.2 刪除出現的數字

[deng@localhost ~]$ echo "hello 1234 itcast 7890" | tr -d '0-9'
hello itcast 
[deng@localhost ~]$ 

4.3 從輸入文本中將不在補集中的所有字符刪除

[deng@localhost test]$ echo aabbcc..#dd2 */dk4 | tr -d -c '0-9 \n'
2 4
[deng@localhost test]$ 

補集中包含了數字0~9、空格和換行符\n,所以沒有被刪除,其他字符全部被刪除了。

4.4 將連續(xù)重復的字符以單獨一個字符表示

[deng@localhost test]$ echo "helloooooooooo is heimamaaaaaaaaaa" | tr -s 'oa'
hello is heimama
[deng@localhost test]$ 

4.5 使用替換操作執(zhí)行+操作

[deng@localhost test]$ echo 1 2 3 4 5 6 7 8 9 | xargs -n1 | echo $[ $(tr '\n' '+') 0 ]
45
[deng@localhost test]$

4.6 刪除由于Windows文件造成的'^M'字符

[deng@localhost test]$ cat txt | tr -s '\r' '\n' > file
[deng@localhost test]$ 

或者

[deng@localhost test]$ cat txt | tr -d '\r' > file

4.7 將小寫字母轉換為大寫字母

[deng@localhost test]$ echo "hello itcast" | tr '[:lower:]' '[:upper:]'
HELLO ITCAST
[deng@localhost test]$ 

4.8 將換行符替換成制表符

[deng@localhost test]$ cat txt | tr '\n' '\t'
 1111  1111 2222 2222 5555 [deng@localhost test]$ 
[deng@localhost test]$ 

到此這篇關于Linux tr命令的使用方法的文章就介紹到這了,更多相關Linux tr命令內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • linux如何mount掛載磁盤并設置開機自動mount的實現

    linux如何mount掛載磁盤并設置開機自動mount的實現

    這篇文章主要介紹了linux如何mount掛載磁盤并設置開機自動mount的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • 淺談linux線程切換問題

    淺談linux線程切換問題

    下面小編就為大家?guī)硪黄獪\談linux線程切換問題。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • ubuntu 20.04上搭建LNMP環(huán)境的方法步驟

    ubuntu 20.04上搭建LNMP環(huán)境的方法步驟

    這篇文章主要介紹了ubuntu 20.04上搭建LNMP環(huán)境的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • IO復用之select poll epoll的總結(推薦)

    IO復用之select poll epoll的總結(推薦)

    下面小編就為大家?guī)硪黄狪O復用之select poll epoll的總結(推薦)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • 關于linux服務器hosts文件配置詳解

    關于linux服務器hosts文件配置詳解

    在本篇文章里小編給大家整理的是關于linux服務器hosts文件配置問題,需要的朋友們可以學習參考下。
    2020-02-02
  • linux 內存清理/釋放命令總結

    linux 內存清理/釋放命令總結

    本篇文章主要介紹了linux 內存清理/釋放命令,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2016-11-11
  • Linux/CentOS系統(tǒng)同步網絡時間的2種方法詳解

    Linux/CentOS系統(tǒng)同步網絡時間的2種方法詳解

    我們知道Windows系統(tǒng)下可以同步網絡時間,那么Linux系統(tǒng)下有沒有相同的功能呢,今天為大家介紹2Linux系統(tǒng)下同步網絡時間的方法
    2018-10-10
  • centos中nginx按日期自動分割訪問日志的方法

    centos中nginx按日期自動分割訪問日志的方法

    本篇文章主要介紹了centos中nginx按日期自動分割訪問日志的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • ubuntu開啟22端口的實現

    ubuntu開啟22端口的實現

    這篇文章主要介紹了ubuntu開啟22端口的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • 在Linux上安裝和使用Docker的方法

    在Linux上安裝和使用Docker的方法

    這篇文章主要介紹了在Linux上安裝和使用Docker的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03

最新評論