国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

tr的使用方法

2024-07-21 02:34:52
字體:
供稿:網(wǎng)友

  tr用來從標(biāo)準(zhǔn)輸入中通過替換或刪除操作進(jìn)行字符轉(zhuǎn)換。t r主要用于刪除文件中控制字符或進(jìn)行字符轉(zhuǎn)換。使用t r時(shí)要轉(zhuǎn)換兩個(gè)字符串:字符串1用于查詢,字符串2用于處理各種轉(zhuǎn)換。
  t r剛執(zhí)行時(shí),字符串1中的字符被映射到字符串2中的字符,然后轉(zhuǎn)換操作開始。
  本章內(nèi)容有:
  * 大小寫轉(zhuǎn)換。
  * 去除控制字符。
  * 刪除空行。
  帶有最常用選項(xiàng)的t r命令格式為:
  t r - c - d - s [ " s t r i n g 1 _ t o _ t r a n s l a t e _ f r o m " ] [ " s t r i n g 2 _ t o _ t r a n s l a t e _ t o " ] i n p u t _
  f i l e
  這里:
  -c 用字符串1中字符集的補(bǔ)集替換此字符集,要求字符集為A S C I I。
  -d 刪除字符串1中所有輸入字符。
  -s 刪除所有重復(fù)出現(xiàn)字符序列,只保留第一個(gè);即將重復(fù)出現(xiàn)字符串壓縮為一個(gè)字符
  串。
  I n p u t - f i l e是轉(zhuǎn)換文件名。雖然可以使用其他格式輸入,但這種格式最常用。
  12.1.1 字符范圍
  使用t r時(shí),可以指定字符串列表或范圍作為形成字符串的模式。這看起來很像正則表達(dá)式,但實(shí)際上不是。指定字符串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ù),對應(yīng)有效的A S C I I字符。
  [O*n] 表示字符O重復(fù)出現(xiàn)指定次數(shù)n。因此[ O * 2 ]匹配O O的字符串。
  大部分t r變種支持字符類和速記控制字符。字符類格式為[:c l a s s ],包含數(shù)字、希臘字母、
  空行、小寫、大寫、c n t r l鍵、空格、點(diǎn)記符、圖形等等。表1 2 - 1包括最常用的控制字符的速記方式及三位八進(jìn)制引用方式。
  當(dāng)用一個(gè)單字符替換一個(gè)字符串或字符范圍時(shí),注重字符并不放在方括號里( [ ])。一些系統(tǒng)也可以使用方括號,例如可以寫成["/ 0 1 2"]或"/ 0 1 2",t r也答應(yīng)不加引號,因此命令中看到單引號而不是雙引號時(shí)也不要感到希奇。
  像大多數(shù)系統(tǒng)工具一樣, t r也受特定字符的影響。因此假如要匹配這些字符,需使用反斜線屏蔽其非凡含義。例如,用/ {指定花括號左邊可以屏蔽其非凡含義。
  表12-1 tr中特定控制字符的不同表達(dá)方式
  速記符含義八進(jìn)制方式
  / a Ctrl-G 鈴聲/ 0 0 7
  / b Ctrl-H 退格符/ 0 1 0
  /f Ctrl-L 走行換頁/ 0 1 4
  /n Ctrl-J 新行/ 0 1 2
  / r Ctrl-M 回車/ 0 1 5
  /t Ctrl-I tab鍵/ 0 11
  / v Ctrl-X / 0 3 0
  12.1.2 保存輸出
  要保存輸出結(jié)果,需將之重定向到一個(gè)文件。下面的例子重定向輸出到文件r e s u l t s . t x t。
  輸入文件是c o p s . t x t。
  現(xiàn)在看一些例子。
  12.1.3 去除重復(fù)出現(xiàn)的字符
  下面文件包含了一些打印錯(cuò)誤。這種情況時(shí)常發(fā)生,例如在v i編輯器中,偶然按住一個(gè)鍵不放。
  假如要去除重復(fù)字母或?qū)⑵鋲嚎s在一起,使用- s選項(xiàng)。因?yàn)槎际亲帜?,故使用[ a - z ]。輸入文件重定向到t r命令。
  所有重復(fù)字符被壓縮成一個(gè)。假如使用c a t命令,再將結(jié)果管道輸出至t r,結(jié)果是一樣的。
  12.1.4 刪除空行
  要刪除空行,可將之剔出文件。下面是一個(gè)文件p l a n e . t x t。文本間有許多空行。
  使用- s來做這項(xiàng)工作。換行的八進(jìn)制表示為/ 0 1 2,命令為:
  也可以使用換行速記方式/ n,這里用單引號(通常用雙引號)。
  12.1.5 大寫到小寫
  除了刪除控制字符,轉(zhuǎn)換大小寫是t r最常用的功能。為此需指定即將轉(zhuǎn)換的小寫字符[ a - z ]
  和轉(zhuǎn)換結(jié)果[ A - Z ]。
  第一個(gè)例子,t r從一個(gè)包含大小寫字母的字符串中接受輸入。
  同樣,也可以使用字符類[:l o w e r:]和[:u p p e r:]。
  將文本文件大寫轉(zhuǎn)換為小寫并輸出至一個(gè)新文件,格式為:
  這里f i l e - t o - t r a n s l a t e保存即將轉(zhuǎn)換的文件, n e w - f i l e - n a m e為保存結(jié)果的新文件名。例如:
  12.1.6 小寫到大寫
  轉(zhuǎn)換小寫到大寫與上一節(jié)大寫到小寫過程剛好相反。以下有兩個(gè)例子:
  將文本文件從小寫轉(zhuǎn)換為大寫并將結(jié)果存入一個(gè)新文件,格式為:
  f i l e - t o - t r a n s l a t e保存即將轉(zhuǎn)換的文件, n e w - f i l e - n a m e保存結(jié)果文件,例如:
  12.1.7 刪除指定字符
  偶然會從下載文件中刪除只包含字母或數(shù)字的列。需要結(jié)合使用- c和- s選項(xiàng)完成此功能。
  下面的文件包含一個(gè)星期的日程表。任務(wù)是從其中刪除所有數(shù)字,只保留日期。日期有大寫,也有小寫格式。因此需指定兩個(gè)字符范圍[ a - z ]和[ A - Z ],命令tr -cs "[a-z][A-Z]""[/012*]"將文件每行所有不包含在[ a - z ]或[ A - Z ](所有希臘字母)的字符串放在字符串1中并轉(zhuǎn)換為一新行。
- s選項(xiàng)表明壓縮所有新行, - c表明保留所有字母不動。原文件如下,后跟t r命令:
  12.1.8 轉(zhuǎn)換控制字符t r的第一個(gè)功能就是轉(zhuǎn)換控制字符,非凡是從d o s向U N I X下載文件時(shí),忘記設(shè)置f t p關(guān)于回車換行轉(zhuǎn)換的選項(xiàng)時(shí)更是如此。
  下面是故意沒有設(shè)置轉(zhuǎn)換開關(guān)的一個(gè)文本文件,是關(guān)于文具需求的一部分內(nèi)容。使用c a t
  - v顯示控制字符。
  猜想'^ ^ ^ ^ ^ ^'是t a b鍵。每一行以C t r l - M結(jié)尾,文件結(jié)尾C t r l - Z,以下是改動方法。
  使用- s選項(xiàng),查看A S C I I表。^的八進(jìn)制代碼是1 3 6,^ M是0 1 5,t a b鍵是0 11,^ Z是0 3 2 ,下面將按步驟完成最終功能。
  用t a b鍵替換^ ^ ^ ^ ^ ^,命令為" / 1 3 6 " " [ / 0 11 * ] "。將結(jié)果重定向到臨時(shí)工作文件s t a t . t m p。
  用新行替換每行末尾的^ M,并用/ n去除^ Z,輸入要來自于臨時(shí)工作文件s t a t . t m p。
  最后去除所有的控制字符,文件就可以使用了。
  12.1.9 快速轉(zhuǎn)換
  假如需要刪除文件中^ M,并代之以換行。使用命令:
  或者用下述命令得同樣結(jié)果。
  也可以用下述命令:
  另一個(gè)一般的D o s到U N I X轉(zhuǎn)換是命令:
  將刪除所有^ M和^ Z,代之以換行。
  要刪除所有的t a b鍵,代之以空格,使用命令:
  替換p a s s w d文件中所有冒號,代之以t a b鍵,可以增加可讀性。將冒號引起來,指定替換字符串中t a b鍵八進(jìn)制值0 11,下面是p a s s w d文件,后跟t r命令結(jié)果:
  或者用下述命令得同樣結(jié)果。這里使用t a b鍵的速記符。
  12.1.10 匹配多于一個(gè)字符
  可以使用[ c h a r a c t e r * n ]格式匹配多于一個(gè)字符。下述文件列出系統(tǒng)硬盤信息,其中包含了
  系統(tǒng)已經(jīng)注冊的和未識別的。第一列是數(shù)字,假如不全是0,表明第二列相應(yīng)硬盤已經(jīng)注冊。
  有時(shí)全部為0看起來很煩人,找個(gè)吸引人注重力的符號來代替它,以便一眼就能看出哪個(gè)硬盤已注冊,哪個(gè)不可識別。原文件如下:
  從文件列表中知道,有一個(gè)硬盤未注冊,因此用星號代替所有的0。模式為[ 0 * 4 ],意即匹配至少4個(gè)0,替換字符串為星號,過濾命令及結(jié)果如下:
  現(xiàn)在從文件中可以直接看出哪個(gè)未注冊。
  12.2 小結(jié)
  t r主要用于字符轉(zhuǎn)換或者抽取控制字符。本章所有功能都可以用s e d來完成,但有些人寧愿使用t r,因?yàn)閠 r更加快捷、輕易。

上一篇:stty使用方法

下一篇:linux日志管理(一)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 建湖县| 额尔古纳市| 甘德县| 来宾市| 淮南市| 三亚市| 乐安县| 茌平县| 岚皋县| 南昌县| 大连市| 岳普湖县| 宁远县| 德庆县| 聂拉木县| 邯郸市| 平舆县| 乌海市| 廉江市| 台前县| 涟源市| 郴州市| 竹北市| 金阳县| 墨玉县| 平乡县| 西平县| 庐江县| 横峰县| 行唐县| 邻水| 定陶县| 安庆市| 武隆县| 阳曲县| 铅山县| 沁源县| 抚松县| 隆昌县| 张北县| 西丰县|