在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用Linux tr命令

CHANBAEK ? 來(lái)源:myfreax ? 作者:myfreax ? 2022-12-12 17:21 ? 次閱讀

tr是Linux和Unix系統(tǒng)中的命令行程序,可轉(zhuǎn)換,刪除和壓縮標(biāo)準(zhǔn)輸入的字符,并將結(jié)果寫(xiě)入標(biāo)準(zhǔn)輸出。

tr命令通常通過(guò)管道與其他命令組合使用,并且可以執(zhí)行刪除重復(fù)字符,將大寫(xiě)轉(zhuǎn)換為小寫(xiě)以及基本字符替換和刪除的操作。

在本教程中,我們將通過(guò)實(shí)際示例和最常見(jiàn)選項(xiàng)的詳細(xì)說(shuō)明向您展示如何使用tr命令。

tr 命令選項(xiàng)

tr命令的語(yǔ)法形式是tr OPTION... SET1 [SET2]OPTION選項(xiàng)是必須的參數(shù),SET是字符集合,可以是一個(gè)多個(gè)字符集合。

tr命令默認(rèn)接受具有相同長(zhǎng)度的兩組字符,并用第二組中字符集合替換第一組存在的字符集合。

例如命令echo 'myfreax' | tr 'myf' 'red'm替換為ry替換為e,將f替換為d

echo 'myfreax' | tr 'myf' 'red'
redreax

也可以使用字符范圍來(lái)定義字符集,減少繁瑣的輸入,例如你要輸入lmno,可以使用l-n代替。

也就是說(shuō)命令echo 'myfreax' | tr 'lmno' 'wxyz'echo 'myfreax' | tr 'l-n' 'w-z'是等價(jià)的。

echo 'myfreax' | tr 'lmno' 'wxyz'
echo 'myfreax' | tr 'l-n' 'w-z'

當(dāng)使用tr命令的-c/--complement選項(xiàng)時(shí),tr命令將會(huì)替換第一組不存在的所有字符。

例如命令echo 'myfreax' | tr -c 'fa' 'xy'使用y替換字符串myfreax不是f或者a的字符。

您可能已經(jīng)注意到輸出比輸入多一個(gè)可見(jiàn)的字符。這是因?yàn)?code>echo命令會(huì)打印一個(gè)不可見(jiàn)的換行符\\n

tr命令也將\\n字符也替換為y。為了使echo命令不打印換行符,請(qǐng)使用echo命令的-n選項(xiàng)。

echo 'myfreax' | tr -c 'fa' 'xy'
echo -n 'myfreax' | tr -c  'fa' 'xy'
yyfyyayy

tr命令的-d/--delete選項(xiàng)刪除指定字符集合。例如命令echo 'myfreax' | tr -d 'ea'刪除字符串myfreaxea字符串。

在不壓縮字符的情況下刪除字符時(shí),您只能指定一組。

echo 'myfreax' | tr -d 'ea'
myfrx

-s/--squeeze-repeats選項(xiàng)使用最后一個(gè)字符集合替換重復(fù)出現(xiàn)的字符。命令echo "GNU \\ Linux" | tr -s ' '刪除重復(fù)出現(xiàn)的空格字符。

在指定第二個(gè)字符集合時(shí),首先使用第一個(gè)字符集合替換字符串GNU \\ Linux,然后使用第二個(gè)字符集合替換第一個(gè)字符集合。

echo "GNU     \\    Linux" | tr -s ' ' #GNU \\ Linux
echo "GNU     \\    Linux" | tr -s ' ' '_' #GNU_\\_Linux

tr 命令轉(zhuǎn)換小寫(xiě)大寫(xiě)

將小寫(xiě)轉(zhuǎn)換為大寫(xiě)或者大寫(xiě)轉(zhuǎn)小寫(xiě)。是tr命令的典型用例之一。在指定字符集合時(shí)可以使用[:lower:]匹配小寫(xiě)字符,[:upper:]匹配大寫(xiě)字符。

除了字符類,您還可以使用范圍,例如'a-z'匹配小寫(xiě)字符串,'A-Z'匹配大寫(xiě)字符。要將大寫(xiě)轉(zhuǎn)換為小寫(xiě),只需切換字符集合的位置即可。

命令echo 'myfreax' | tr 'a-z' 'A-Z'轉(zhuǎn)換為大寫(xiě),echo 'myfreax' | tr 'A-Z' 'a-z'轉(zhuǎn)換為小寫(xiě)。

echo 'myfreax' | tr '[:lower:]' '[:upper:]' #MYFREAX
echo 'myfreax' | tr 'a-z' 'A-Z' #MYFREAX

tr 命令刪除數(shù)字

[:digit:]代表所有數(shù)字字符,要?jiǎng)h除數(shù)字,可以組合使用tr命令的-cd選項(xiàng)刪除所有非數(shù)字字符。

tr命令的-c選項(xiàng)表示替換第一組不存在的所有字符。-s選項(xiàng)表示刪除字符一組字符集合存在的字符。

tr -cd [:digit:]組合起來(lái)就是刪除第一組字符集合不是數(shù)字的字符,如果你要?jiǎng)h除不是數(shù)字的字符,使用[:alpha:]替換[:digit:]

echo "my phone is 123-456-7890" | tr -cd [:digit:]
1234567890

tr 命令在單詞末尾插入換行符

[:alnum:]代表所有數(shù)字和字符A-Za-z,要在單詞末尾插入換行符,可以組合使用tr命令的-cs選項(xiàng)刪除所有非數(shù)字字符。

tr命令的-c選項(xiàng)表示替換第一組不存在的所有字符。-s選項(xiàng)表示使用最后一個(gè)字符集合替換重復(fù)出現(xiàn)的字符。-c '[:alnum:]'表示搜索所有空白字符。

tr -cs '[:alnum:]' '\\n'組合起來(lái)就是搜索所有空白字符串替換為換行符\\n

echo 'GNU is an operating system' | tr -cs '[:alnum:]' '\\n'
GNU
is
an
operating
system

tr 命令刪除空行

由于tr命令僅接受標(biāo)準(zhǔn)輸入,因此必須使用標(biāo)準(zhǔn)輸入重定向符號(hào)<,將標(biāo)準(zhǔn)輸入的鍵盤(pán)替換為文件。

tr命令的-s選項(xiàng)表示使用最后一個(gè)字符集合替換重復(fù)出現(xiàn)的字符。換行符號(hào)在單行中會(huì)被以為是重復(fù)字符串。

tr -s '\\n'組合就是替換重復(fù)的換行符,由于命令沒(méi)有指定第二個(gè)字符集合,因此沒(méi)有字符替換。

最后> new_file.txt就是將tr命令的標(biāo)準(zhǔn)輸出重定向到文件new_file.txt

tr -s '\\n' < file.txt > new_file.txt

tr 命令打印$PATH目錄

$PATH環(huán)境變量是用冒號(hào)分隔的目錄列表,指示Shell程序在用戶運(yùn)行命令時(shí)要搜索可執(zhí)行文件的目錄。

如要在每一行打印每個(gè)$PATH環(huán)境變量的目錄,只需要將冒號(hào):替換為換行符號(hào)即可。

echo $PATH | tr  ':' '\\n'
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin

結(jié)論

現(xiàn)在,您應(yīng)該對(duì)如何使用Linux tr命令有很好的了解。tr只能使用單個(gè)字符。對(duì)于復(fù)雜的模式匹配和字符串處理應(yīng)該使用sed或awk。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • UNIX
    +關(guān)注

    關(guān)注

    0

    文章

    296

    瀏覽量

    42150
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    733

    瀏覽量

    22742
  • lunix
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    1117
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    詳解Linux上兩個(gè)超有用重要的文本操作命令

    Linux 通過(guò)大量的命令使得文本操作和處理非常容易。像 tr 和 fmt 這樣的命令行工具可以幫助您從終端更改、格式化和修改文本文件。
    發(fā)表于 11-11 09:14 ?653次閱讀

    Linux文件內(nèi)容查詢命令

    Linux文件內(nèi)容查詢命令 Linux文件內(nèi)容查詢命令  grep、fgrep和egrep命令  這組
    發(fā)表于 01-18 12:45 ?903次閱讀

    Linux目錄的創(chuàng)建與刪除命令

    Linux目錄的創(chuàng)建與刪除命令 Linux目錄的創(chuàng)建與刪除命令  mkdir命令  功能:創(chuàng)建一個(gè)目錄(類似DOS下的md
    發(fā)表于 01-18 12:46 ?1419次閱讀

    Linux與用戶有關(guān)的命令

    Linux與用戶有關(guān)的命令 Linux與用戶有關(guān)的命令  passwd命令  出于系統(tǒng)安全考慮,Lin
    發(fā)表于 01-18 12:46 ?835次閱讀

    Linux的常用網(wǎng)絡(luò)命令

    Linux的常用網(wǎng)絡(luò)命令 Linux 的常用網(wǎng)絡(luò)命令  計(jì)算機(jī)網(wǎng)絡(luò)的主要優(yōu)點(diǎn)是能夠?qū)崿F(xiàn)資源和信息的共享,并且用戶可以遠(yuǎn)程訪問(wèn)信息。Linux
    發(fā)表于 01-18 12:47 ?1226次閱讀

    Linux關(guān)機(jī)命令詳解

    Linux關(guān)機(jī)命令詳解 在linux下一些常用的關(guān)機(jī)/重啟命令有shutdown、halt、reboot、及init,它們都 可以達(dá)到重啟系統(tǒng)的目的,但每個(gè)
    發(fā)表于 01-18 12:52 ?3724次閱讀

    Linux系統(tǒng)命令指南

    在“Linux 文件命令精通指南”中,我們討論了利用最基礎(chǔ)和最常用 Linux 文件命令所需的基本信息。在本文中,我將對(duì) Linux 系統(tǒng)
    發(fā)表于 05-23 10:23 ?1026次閱讀

    linux命令大全

    書(shū)中收集了豐富的Linux命令,是Linux技術(shù)開(kāi)發(fā)者的好工具
    發(fā)表于 08-08 18:20 ?3次下載

    Linux命令大全

    Linux命令大全
    發(fā)表于 10-30 09:49 ?9次下載
    <b class='flag-5'>Linux</b>的<b class='flag-5'>命令</b>大全

    linux有哪些常用的命令

     Linux命令非常之多,分為內(nèi)部命令和外部命令
    發(fā)表于 02-27 08:00 ?4次下載
    <b class='flag-5'>linux</b>有哪些常用的<b class='flag-5'>命令</b>

    常用Linux命令介紹

    linux命令是對(duì)Linux系統(tǒng)進(jìn)行管理的命令。對(duì)于Linux系統(tǒng)來(lái)說(shuō),無(wú)論是中央處理器、內(nèi)存、磁盤(pán)驅(qū)動(dòng)器、鍵盤(pán)、鼠標(biāo),還是用戶等都是文件,
    的頭像 發(fā)表于 02-09 14:31 ?1284次閱讀

    淺析Linux精致的命令

    這只是一小部分常用的Linux命令Linux有很多命令可以使用。建議通過(guò)man命令來(lái)查看命令
    的頭像 發(fā)表于 04-24 16:28 ?1745次閱讀

    shell命令linux命令一樣嗎

    Shell命令Linux命令并不完全一樣。 首先,Shell是一種命令行解釋器,它是用來(lái)解釋和執(zhí)行用戶輸入的命令的。Shell既是一種
    的頭像 發(fā)表于 11-08 10:51 ?3434次閱讀

    linux重啟命令有哪些

    Linux是一種自由和開(kāi)放源代碼的操作系統(tǒng),被廣泛應(yīng)用于服務(wù)器和嵌入式設(shè)備。在Linux中,有多種命令用于重啟系統(tǒng)。在本文中,我們將詳細(xì)介紹常用的Linux重啟
    的頭像 發(fā)表于 11-17 09:49 ?2532次閱讀

    Linux實(shí)用命令大全

    Linux實(shí)用命令大全
    的頭像 發(fā)表于 10-23 13:50 ?589次閱讀
    <b class='flag-5'>Linux</b>實(shí)用<b class='flag-5'>命令</b>大全
    主站蜘蛛池模板: 播放个毛片看看 | 色就是色欧美色图 | 午夜爽爽性刺激一区二区视频 | 亚洲午夜精品久久久久久成年 | 免费一级毛片无毒不卡 | 国产拍拍拍免费视频网站 | 在线天堂中文新版www | xxxx日本老师hd | 亚洲韩国日本欧美一区二区三区 | 在线观看黄的网站 | 欧美天天视频 | 国产精品单位女同事在线 | 一区二区三区四区无限乱码在线观看 | 国产精品久久久久aaaa | 三级在线网址 | 欧美午夜一区 | 成人深夜视频 | 久久久久久免费观看 | 午夜视频免费在线播放 | 男女啪视频大全1000 | 美女免费黄 | 爱爱的免费视频 | 免费网站直接看 | 久久亚洲国产午夜精品理论片 | 色综合久久天天综合绕观看 | 视频在线观看一区二区三区 | 欧美色天使| 久久99久久精品97久久综合 | 婷婷啪啪 | 女同毛片免费网站 | 久久天天干 | 日本黄色免费片 | 激情亚洲| 女性一级全黄生活片在线播放 | 久久精品男人的天堂 | 中文字幕一区二区三区精品 | 久草免费在线播放 | 看视频免费网址 | 久久婷婷一区二区三区 | 超黄视频在线观看 | 久久思re热9一区二区三区 |