亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > Linux中的tr命令的詳細解釋

      Linux中的tr命令的詳細解釋

      時間: 佳洲1085 分享

      Linux中的tr命令的詳細解釋

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

        Linux中的tr命令的詳細解釋

        Linux中的tr命令用于轉(zhuǎn)換或刪除文件中的字符。

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

        語法

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

        tr [OPTION]…SET1[SET2]

        參數(shù)說明:

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

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

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

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

        --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 碼的次序為基礎(chǔ),只能由小到大,不能由大到小。

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

        [CHAR*REPEAT] :這也是 SET2 專用的設(shè)定,功能是重復(fù)指定的字符到設(shè)定的 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

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

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

        # 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">

      Linux中的tr命令的詳細解釋

      時間: 佳洲1085 分享

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

      Linux中的tr命令的詳細解釋

      時間: 佳洲1085 分享

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

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

        補充:linux的tr命令關(guān)于表達字符串的特殊序列

        表達字符串的特殊序列

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

        C1-C2

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

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

        [C*Number]

        Number 是一個整數(shù),它指定了由 C 所指定的字符的重復(fù)次數(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:] 轉(zhuǎn)換字符類之外,其他字符類指定的字符都按未指定的順序放入數(shù)組中。由于未定義字符類指定的字符的順序,僅當(dāng)目的為將多個字符映射為一個時才使用這些字符。轉(zhuǎn)換字符類除外。

        有關(guān)字符類的詳細情況,請參閱 ctype 子例程。

        [ =C= ]

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

        \Octal

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

      Linux中的tr命令的詳細解釋

      時間: 佳洲1085 分享

      Linux中的tr命令的詳細解釋

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

        Linux中的tr命令的詳細解釋

        Linux中的tr命令用于轉(zhuǎn)換或刪除文件中的字符。

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

        語法

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

        tr [OPTION]…SET1[SET2]

        參數(shù)說明:

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

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

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

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

        --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 碼的次序為基礎(chǔ),只能由小到大,不能由大到小。

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

        [CHAR*REPEAT] :這也是 SET2 專用的設(shè)定,功能是重復(fù)指定的字符到設(shè)定的 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

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

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

        # 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 所指定的值相應(yīng)的控制字符。可以表示以下值:

        \a 警告

        \b 退格鍵

        \f 換頁

        \n 換行

        \r 回車

        \t 制表鍵

        \v 垂直制表鍵

        \

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

        \[

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

        \-

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

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

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

      3636552