最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux tr命令的使用方法

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

01. 命令概述

tr命令可以對(duì)來(lái)自標(biāo)準(zhǔn)輸入的字符進(jìn)行替換、壓縮和刪除。它可以將一組字符變成另一組字符,經(jīng)常用來(lái)編寫(xiě)優(yōu)美的單行命令,作用很強(qiáng)大。

tr的英文全稱(chēng)是“ transform ”,即轉(zhuǎn)換的意思。tr他只能從標(biāo)準(zhǔn)輸入中讀取數(shù)據(jù),因此,tr要么將輸入文件重定向到標(biāo)準(zhǔn)輸入,要么從管道讀入數(shù)據(jù)。

注意:tr類(lèi)似于sed命令,但是比sed簡(jiǎn)單,所以tr能實(shí)現(xiàn)的功能,sed都能實(shí)現(xiàn)。

02. 命令格式

用法:tr [選項(xiàng)]... SET1 [SET2]

03. 常用選項(xiàng)

從標(biāo)準(zhǔn)輸入中替換、縮減和/或刪除字符,并將結(jié)果寫(xiě)到標(biāo)準(zhǔn)輸出。

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

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

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

僅在SET1 和SET2 都給出,同時(shí)沒(méi)有-d 選項(xiàng)的時(shí)候才會(huì)進(jìn)行替換。
僅在替換時(shí)才可能用到-t 選項(xiàng)。如果需要SET2 將被通過(guò)在末尾添加原來(lái)的末字符的方式
補(bǔ)充到同SET1 等長(zhǎng)。SET2 中多余的字符將被省略。只有[:lower:] 和[:upper:]
以升序展開(kāi)字符;在用于替換時(shí)的SET2 中以成對(duì)表示大小寫(xiě)轉(zhuǎn)換。-s 作用于SET1,既不
替換也不刪除,否則在替換或展開(kāi)后使用SET2 縮減。

字符范圍

指定字符串1或字符串2的內(nèi)容時(shí),只能使用單字符或字符串范圍或列表。

[a-z] a-z內(nèi)的字符組成的字符串。

[A-Z] A-Z內(nèi)的字符組成的字符串。
[0-9] 數(shù)字串。

\octal 一個(gè)三位的八進(jìn)制數(shù),對(duì)應(yīng)有效的ASCII字符。
[O*n] 表示字符O重復(fù)出現(xiàn)指定次數(shù)n。因此[O*2]匹配OO的字符串。

tr中特定控制字符的不同表達(dá)方式
速記符含義八進(jìn)制方式

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

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

\r Ctrl-M 回車(chē)\015
\t Ctrl-I tab鍵\011

\v Ctrl-X \030

04. 參考示例

4.1 將輸入字符由大寫(xiě)轉(zhuǎn)換為小寫(xiě)

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

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

4.2 刪除出現(xiàn)的數(shù)字

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

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

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

補(bǔ)集中包含了數(shù)字0~9、空格和換行符\n,所以沒(méi)有被刪除,其他字符全部被刪除了。

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

[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 將小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母

[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]$ 

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

相關(guān)文章

  • Linux(ubuntu)下實(shí)現(xiàn)增加/刪除文件權(quán)限

    Linux(ubuntu)下實(shí)現(xiàn)增加/刪除文件權(quán)限

    下面小編就為大家分享一篇Linux(ubuntu)下實(shí)現(xiàn)增加/刪除文件權(quán)限,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Linux文件管理使用詳解

    Linux文件管理使用詳解

    這篇文章主要為大家詳細(xì)介紹了Linux文件管理的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • 淺析Centos7搭建samba服務(wù)器方法

    淺析Centos7搭建samba服務(wù)器方法

    本篇文章是作者實(shí)際Centos7搭建samba服務(wù)器的心得總結(jié),如果你正需要這方面的內(nèi)容,參考下吧。
    2018-02-02
  • linux 基礎(chǔ)命令大全

    linux 基礎(chǔ)命令大全

    學(xué)過(guò)Linux的人都會(huì)知道,Linux中的命令的確是非常多,但是玩過(guò)Linux的人也從來(lái)不會(huì)因?yàn)長(zhǎng)inux的命令如此之多而煩惱,本文介紹了linux 基礎(chǔ)命令,有興趣的可以了解一下。
    2016-10-10
  • Linux系統(tǒng)防CC攻擊自動(dòng)拉黑IP增強(qiáng)版(Shell腳本)

    Linux系統(tǒng)防CC攻擊自動(dòng)拉黑IP增強(qiáng)版(Shell腳本)

    這篇文章主要介紹了Linux系統(tǒng)防CC攻擊自動(dòng)拉黑IP增強(qiáng)版(Shell腳本),需要的朋友可以參考下
    2015-04-04
  • Linux下如何更新curl版本

    Linux下如何更新curl版本

    這篇文章主要介紹了Linux下如何更新curl版本問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 解決CentOS7虛擬機(jī)無(wú)法上網(wǎng)并設(shè)置CentOS7虛擬機(jī)使用靜態(tài)IP上網(wǎng)

    解決CentOS7虛擬機(jī)無(wú)法上網(wǎng)并設(shè)置CentOS7虛擬機(jī)使用靜態(tài)IP上網(wǎng)

    這篇文章主要介紹了解決CentOS7虛擬機(jī)無(wú)法上網(wǎng)并設(shè)置CentOS7虛擬機(jī)使用靜態(tài)IP上網(wǎng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • CentOS 配置防火墻詳解及實(shí)例

    CentOS 配置防火墻詳解及實(shí)例

    這篇文章主要介紹了CentOS 配置防火墻詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • linux報(bào)錯(cuò)INFO:task?xxxxxx:634?blocked?for?more?than?120?seconds.三種解決方式

    linux報(bào)錯(cuò)INFO:task?xxxxxx:634?blocked?for?more?than?120?

    文章描述了一個(gè)Linux最小系統(tǒng)運(yùn)行時(shí)出現(xiàn)的“hung_task_timeout_secs”錯(cuò)誤,并探討了三種解決方案:縮小文件系統(tǒng)緩存大小、修改IO調(diào)度策略和取消120秒時(shí)間限制,通過(guò)測(cè)試,發(fā)現(xiàn)縮減文件系統(tǒng)緩存大小和取消120秒時(shí)間限制都可以解決問(wèn)題
    2025-01-01
  • Linux系統(tǒng)查看CPU、機(jī)器型號(hào)、內(nèi)存等信息

    Linux系統(tǒng)查看CPU、機(jī)器型號(hào)、內(nèi)存等信息

    今天小編就為大家分享一篇關(guān)于Linux系統(tǒng)查看CPU、機(jī)器型號(hào)、內(nèi)存等信息,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03

最新評(píng)論

尤溪县| 通海县| 宁河县| 郎溪县| 曲水县| 温宿县| 尉氏县| 罗田县| 孟村| 徐汇区| 云和县| 屯留县| 乌苏市| 西城区| 牡丹江市| 凉山| 庄浪县| 通山县| 客服| 定结县| 孟连| 麻城市| 万源市| 吉木萨尔县| 青铜峡市| 白朗县| 卓尼县| 内丘县| 西乡县| 广昌县| 图木舒克市| 琼海市| 曲水县| 崇仁县| 布尔津县| 乌海市| 策勒县| 成武县| 浪卡子县| 紫金县| 获嘉县|