国产宅男网站在线|亚洲A级性爱免费视频|亚洲中精品级在线|午夜福利AA毛

  • <dd id="gf5jf"><th id="gf5jf"></th></dd>

    <cite id="gf5jf"><label id="gf5jf"></label></cite>
  • <div id="gf5jf"><listing id="gf5jf"></listing></div>
    學習啦 > 學習電腦 > 操作系統(tǒng) > Linux教程 > Linux中的tr命令的詳細解釋

    Linux中的tr命令的詳細解釋

    時間: 佳洲1085 分享

    Linux中的tr命令的詳細解釋

      Linux下的tr命令是一個專門用來處理字符的命令,下面由學習啦小編為大家整理了linux下的tr命令的詳細解釋,希望對大家有幫助!

      Linux中的tr命令的詳細解釋

      Linux中的tr命令用于轉換或刪除文件中的字符。

      tr 指令從標準輸入設備讀取數(shù)據(jù),經(jīng)過字符串轉譯后,將結果輸出到標準輸出設備。

      語法

      tr [-cdst][--help][--version][第一字符集][第二字符集]

      tr [OPTION]…SET1[SET2]

      參數(shù)說明:

      -c, --complement:反選設定字符。也就是符合 SET1 的部份不做處理,不符合的剩余部份才進行轉換

      -d, --delete:刪除指令字符

      -s, --squeeze-repeats:縮減連續(xù)重復的字符成指定的單個字符

      -t, --truncate-set1:削減 SET1 指定范圍,使之與 SET2 設定長度相等

      --help:顯示程序用法信息

      --version:顯示程序本身的版本信息

      字符集合的范圍:

      \NNN 八進制值的字符 NNN (1 to 3 為八進制值的字符)

      \ 反斜杠

      \a Ctrl-G 鈴聲

      \b Ctrl-H 退格符

      \f Ctrl-L 走行換頁

      \n Ctrl-J 新行

      \r Ctrl-M 回車

      \t Ctrl-I tab鍵

      \v Ctrl-X 水平制表符

      CHAR1-CHAR2 :字符范圍從 CHAR1 到 CHAR2 的指定,范圍的指定以 ASCII 碼的次序為基礎,只能由小到大,不能由大到小。

      [CHAR*] :這是 SET2 專用的設定,功能是重復指定的字符到與 SET1 相同長度為止

      [CHAR*REPEAT] :這也是 SET2 專用的設定,功能是重復指定的字符到設定的 REPEAT 次數(shù)為止(REPEAT 的數(shù)字采 8 進位制計算,以 0 為開始)

      [:alnum:] :所有字母字符與數(shù)字

      [:alpha:] :所有字母字符

      [:blank:] :所有水平空格

      [:cntrl:] :所有控制字符

      [:digit:] :所有數(shù)字

      [:graph:] :所有可打印的字符(不包含空格符)

      [:lower:] :所有小寫字母

      [:print:] :所有可打印的字符(包含空格符)

      [:punct:] :所有標點字符

      [:space:] :所有水平與垂直空格符

      [:upper:] :所有大寫字母

      [:xdigit:] :所有 16 進位制的數(shù)字

      [=CHAR=] :所有符合指定的字符(等號里的 CHAR,代表你可自訂的字符)

      linux的tr命令的具體例子

      1、將文件file中出現(xiàn)的"abc"替換為"xyz"

      # cat file | tr "abc" "xyz" > new_file

      【注意】這里,凡是在file中出現(xiàn)的"a"字母,都替換成"x"字母,"b"字母替換為"y"字母,"c"字母替換為"z"字母。而不是將字符串"abc"替換為字符串"xyz"。

      2、使用tr命令“統(tǒng)一”字母大小寫

      (小寫 --> 大寫)

      # cat file | tr [a-z] [A-Z] > new_file

      (大寫 --> 小寫)

      # cat file | tr [A-Z] [a-z] > new_file

      3、把文件中的數(shù)字0-9替換為a-j

      # cat file | tr [0-9] [a-j] > new_file

      4、刪除文件file中出現(xiàn)的"Snail"字符

      # cat file | tr -d "Snail" > new_file

      【注意】這里,凡是在file文件中出現(xiàn)的'S','n','a','i','l'字符都會被刪除!而不是緊緊刪除出現(xiàn)的"Snail”字符串。

      5、刪除文件file中出現(xiàn)的換行'\n'、制表'\t'字符

      # cat file | tr -d "\n\t" > new_file

      不可見字符都得用轉義字符來表示的,這個都是統(tǒng)一的。

      6、刪除“連續(xù)著的”重復字母,只保留第一個

      # cat file | tr -s [a-zA-Z] > new_file

      7、刪除空行

      # cat file | tr -s "\n" > new_file

      8、刪除Windows文件“造成”的'^M'字符

      # cat file | tr -d "\r" > new_file

      或者

      # cat file | tr -s "\r" "\n" > new_file

      【注意】這里-s后面是兩個參數(shù)"\r"和"\n",用后者替換前者

      9、用空格符0替換制表符 class="main">

    學習啦 > 學習電腦 > 操作系統(tǒng) > Linux教程 > Linux中的tr命令的詳細解釋

    Linux中的tr命令的詳細解釋

    時間: 佳洲1085 分享

      # cat file | tr -s " class="main">

    學習啦 > 學習電腦 > 操作系統(tǒng) > Linux教程 > Linux中的tr命令的詳細解釋

    Linux中的tr命令的詳細解釋

    時間: 佳洲1085 分享

      10、把路徑變量中的冒號":",替換成換行符"\n"

      # echo $PATH | tr -s ":" "\n"

      補充:linux的tr命令關于表達字符串的特殊序列

      表達字符串的特殊序列

      String1 和 String2 變量中所包含的字符串可以使用以下的約定來表示:

      C1-C2

      指定了 C1 所指定的字符和 C2 所指定的字符之間(包括 C1 和 C2)進行整理的字符串。C1 所指定的字符必須整理放在由 C2 所指定的字符之前。

      注:在使用本方法指定子范圍時,當前語言環(huán)境對結果有重要影響。如果需要用命令來產(chǎn)生與語言環(huán)境無關的一致結果,那么應該避免使用子范圍。

      [C*Number]

      Number 是一個整數(shù),它指定了由 C 所指定的字符的重復次數(shù)。除非其首位數(shù)字是 0,否則 Number 一律視為是十進制整數(shù);如果首位數(shù)字是 0,那么視為八進制整數(shù)。

      [C*]

      用 C 指定的字符填寫字符串。該選項只用于包含在 String2 中的字符串末尾,它強制 String2 中的字符串具有與由 String1 變量所指定的字符串一樣的字符數(shù)。*(星號)后面指定的任何字符都被忽略。

      [ :ClassName: ]

      alnum lower

      alpha print

      blank punct

      cntrl space

      digit upper

      graph xdigit

      除 [:lower:] 和 [:upper:] 轉換字符類之外,其他字符類指定的字符都按未指定的順序放入數(shù)組中。由于未定義字符類指定的字符的順序,僅當目的為將多個字符映射為一個時才使用這些字符。轉換字符類除外。

      有關字符類的詳細情況,請參閱 ctype 子例程。

      [ =C= ]

      指定所有的字符具有與 C 所指定的字符相同的等價類。

      \Octal

      指定字符,其編碼由 Octal 所指定的八進制值表示。Octal 可以是 1 位、2 位 或 3 位八進制整數(shù)??兆址梢杂?'

    學習啦 > 學習電腦 > 操作系統(tǒng) > Linux教程 > Linux中的tr命令的詳細解釋

    Linux中的tr命令的詳細解釋

    時間: 佳洲1085 分享

    Linux中的tr命令的詳細解釋

      Linux下的tr命令是一個專門用來處理字符的命令,下面由學習啦小編為大家整理了linux下的tr命令的詳細解釋,希望對大家有幫助!

      Linux中的tr命令的詳細解釋

      Linux中的tr命令用于轉換或刪除文件中的字符。

      tr 指令從標準輸入設備讀取數(shù)據(jù),經(jīng)過字符串轉譯后,將結果輸出到標準輸出設備。

      語法

      tr [-cdst][--help][--version][第一字符集][第二字符集]

      tr [OPTION]…SET1[SET2]

      參數(shù)說明:

      -c, --complement:反選設定字符。也就是符合 SET1 的部份不做處理,不符合的剩余部份才進行轉換

      -d, --delete:刪除指令字符

      -s, --squeeze-repeats:縮減連續(xù)重復的字符成指定的單個字符

      -t, --truncate-set1:削減 SET1 指定范圍,使之與 SET2 設定長度相等

      --help:顯示程序用法信息

      --version:顯示程序本身的版本信息

      字符集合的范圍:

      \NNN 八進制值的字符 NNN (1 to 3 為八進制值的字符)

      \ 反斜杠

      \a Ctrl-G 鈴聲

      \b Ctrl-H 退格符

      \f Ctrl-L 走行換頁

      \n Ctrl-J 新行

      \r Ctrl-M 回車

      \t Ctrl-I tab鍵

      \v Ctrl-X 水平制表符

      CHAR1-CHAR2 :字符范圍從 CHAR1 到 CHAR2 的指定,范圍的指定以 ASCII 碼的次序為基礎,只能由小到大,不能由大到小。

      [CHAR*] :這是 SET2 專用的設定,功能是重復指定的字符到與 SET1 相同長度為止

      [CHAR*REPEAT] :這也是 SET2 專用的設定,功能是重復指定的字符到設定的 REPEAT 次數(shù)為止(REPEAT 的數(shù)字采 8 進位制計算,以 0 為開始)

      [:alnum:] :所有字母字符與數(shù)字

      [:alpha:] :所有字母字符

      [:blank:] :所有水平空格

      [:cntrl:] :所有控制字符

      [:digit:] :所有數(shù)字

      [:graph:] :所有可打印的字符(不包含空格符)

      [:lower:] :所有小寫字母

      [:print:] :所有可打印的字符(包含空格符)

      [:punct:] :所有標點字符

      [:space:] :所有水平與垂直空格符

      [:upper:] :所有大寫字母

      [:xdigit:] :所有 16 進位制的數(shù)字

      [=CHAR=] :所有符合指定的字符(等號里的 CHAR,代表你可自訂的字符)

      linux的tr命令的具體例子

      1、將文件file中出現(xiàn)的"abc"替換為"xyz"

      # cat file | tr "abc" "xyz" > new_file

      【注意】這里,凡是在file中出現(xiàn)的"a"字母,都替換成"x"字母,"b"字母替換為"y"字母,"c"字母替換為"z"字母。而不是將字符串"abc"替換為字符串"xyz"。

      2、使用tr命令“統(tǒng)一”字母大小寫

      (小寫 --> 大寫)

      # cat file | tr [a-z] [A-Z] > new_file

      (大寫 --> 小寫)

      # cat file | tr [A-Z] [a-z] > new_file

      3、把文件中的數(shù)字0-9替換為a-j

      # cat file | tr [0-9] [a-j] > new_file

      4、刪除文件file中出現(xiàn)的"Snail"字符

      # cat file | tr -d "Snail" > new_file

      【注意】這里,凡是在file文件中出現(xiàn)的'S','n','a','i','l'字符都會被刪除!而不是緊緊刪除出現(xiàn)的"Snail”字符串。

      5、刪除文件file中出現(xiàn)的換行'\n'、制表'\t'字符

      # cat file | tr -d "\n\t" > new_file

      不可見字符都得用轉義字符來表示的,這個都是統(tǒng)一的。

      6、刪除“連續(xù)著的”重復字母,只保留第一個

      # cat file | tr -s [a-zA-Z] > new_file

      7、刪除空行

      # cat file | tr -s "\n" > new_file

      8、刪除Windows文件“造成”的'^M'字符

      # cat file | tr -d "\r" > new_file

      或者

      # cat file | tr -s "\r" "\n" > new_file

      【注意】這里-s后面是兩個參數(shù)"\r"和"\n",用后者替換前者

      9、用空格符0替換制表符 class="main">

    ' 表示,并可以像任何其他的字符那樣進行處理。

      \ControlCharacter

      指定與 ControlCharacter 所指定的值相應的控制字符??梢员硎疽韵轮担?/p>

      \a 警告

      \b 退格鍵

      \f 換頁

      \n 換行

      \r 回車

      \t 制表鍵

      \v 垂直制表鍵

      \

      規(guī)定 "\"(反斜杠)就是作反斜杠使用,而無作為轉義字符的任何特殊意義。

      \[

      指定“[”(左括號)就作為左括號使用,而無作為特定字符串序列的開始字符的任何特殊意義。

      \-

      指定“-”(負號)就作為負號使用,而無作為范圍分隔符的任何特殊意義。

      如果某個字符在 String1 中被指定過多次,那么該字符就被轉換成 String2 中為與 String1 中最后出現(xiàn)的字符相對應的字符。

      如果由 String1 和 String2 指定的字符串長度不相同,那么 tr 命令就會忽略較長一個字符串中的多余字符。

    3636552