校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁(yè) > 知識(shí)庫(kù) > Linux系統(tǒng)中tr命令的基本使用教程

Linux系統(tǒng)中tr命令的基本使用教程

熱門(mén)標(biāo)簽:高德地圖標(biāo)注技術(shù) 微信地圖標(biāo)注在哪 滴滴洗衣店地圖標(biāo)注 大眾點(diǎn)評(píng)公寓式酒店地圖標(biāo)注 辦理400電話怎么申請(qǐng) 如何在地圖標(biāo)注多個(gè)位置 慶陽(yáng)便宜外呼系統(tǒng)報(bào)價(jià) 天地圖標(biāo)注線 靈圖uu電子服務(wù)區(qū)地圖標(biāo)注

用法:tr [選項(xiàng)]... SET1 [SET2]
從標(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 縮減。

tr命令中的參數(shù) -c 比較實(shí)用,可以用字符串1中字符集的補(bǔ)集替換此字符集,要求字符集為A S C I I。然后在終端上試了一條命令:

復(fù)制代碼
代碼如下:

tr -cs "[a-z][A-Z]" "[\012*]" diary.txt

這是將文件 diary.txt 內(nèi)的非字符數(shù)據(jù)轉(zhuǎn)換成換行符,然后用 -s 選項(xiàng)刪除所有重復(fù)出現(xiàn)字符序列,只保留第一個(gè);即將重復(fù)出現(xiàn)字符串壓縮為一個(gè)字符串。

后來(lái)仔細(xì)看這條命令時(shí),發(fā)現(xiàn)在 \012 后面加了個(gè) * ,當(dāng)我去掉這個(gè) * 時(shí),再運(yùn)行,發(fā)現(xiàn)得出的結(jié)果全在同一行,并且用 ] (左中括號(hào))隔開(kāi),然后我又試著 用 \n 代替 \012,
發(fā)現(xiàn)也是只有在 \n 后加 * 才得出正確的結(jié)果。后來(lái)將中括號(hào)去掉。這是不要 * 時(shí)可以輸出正確結(jié)果,發(fā)而加了 * 后會(huì)將結(jié)果都輸出在一行,中間用 * 隔開(kāi)。

猜想:是否在加中括號(hào)后,里面的特殊字符后都要加 *,無(wú)論是用字母表示的,還是用八進(jìn)制數(shù)表示的。

下面再舉一些例子:

復(fù)制代碼
代碼如下:

[root@localhost zhangy]# echo "TANK" |tr A-Z a-z #大寫(xiě)字母轉(zhuǎn)小寫(xiě)

tank

復(fù)制代碼
代碼如下:

[root@localhost zhangy]# echo 'tank zhang' | tr a-z A-Z #小寫(xiě)字線轉(zhuǎn)大寫(xiě)

TANK ZHANG

復(fù)制代碼
代碼如下:

[root@localhost zhangy]# cat aaa.txt #原文件

aaa

bbb

復(fù)制代碼
代碼如下:

[root@localhost zhangy]# cat aaa.txt|tr 'a' 'c' #字母c替換字母a

ccc

bbb

復(fù)制代碼
代碼如下:

[root@localhost zhangy]# cat aaa.txt|tr -d 'a' #刪除所有字母a

bbb

復(fù)制代碼
代碼如下:

[root@localhost zhangy]# cat aaa.txt|tr -d '\n\t' 刪除文件file中出現(xiàn)的換行'\n'、制表'\t'字符

aaabbb

復(fù)制代碼
代碼如下:

[root@localhost zhangy]# cat aaa.txt|tr -s [a-zA-Z] #刪除重復(fù)的字母

a

b

復(fù)制代碼
代碼如下:

[root@localhost zhangy]# cat aaa.txt|tr -s '\n' #刪除空行

aaa
bbb

復(fù)制代碼
代碼如下:

[root@localhost zhangy]# cat aaa.txt |tr -s '\011' '\040' #用空格符\040替換制表符\011

aaa

bbb

復(fù)制代碼
代碼如下:

# tr a c test #將test文件中的a變成c

標(biāo)簽:優(yōu)質(zhì)穩(wěn)定 孝感 昌都 臺(tái)州 哈密 海東 玉樹(shù) 九江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux系統(tǒng)中tr命令的基本使用教程》,本文關(guān)鍵詞  Linux,系統(tǒng),中,命令,的,基本,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux系統(tǒng)中tr命令的基本使用教程》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Linux系統(tǒng)中tr命令的基本使用教程的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 嫩江县| 隆安县| 颍上县| 定襄县| 雅江县| 华宁县| 云梦县| 浦江县| 杭锦后旗| 临安市| 宜兰市| 莱西市| 福贡县| 唐河县| 嘉荫县| 龙南县| 和田市| 佳木斯市| 通海县| 泸水县| 杭锦后旗| 平南县| 策勒县| 渭南市| 香河县| 和硕县| 丰原市| 军事| 延长县| 通江县| 泰和县| 镇宁| 蒙城县| 阜平县| 桑日县| 东辽县| 永川市| 偏关县| 丰城市| 海晏县| 南陵县|