精华内容
下载资源
问答
  • Linux shell tr 命令详解

    2021-01-20 16:08:49
    Linux shell tr 命令详解 1. 用途 tr,translate的简写,主要用于压缩重复字符,删除文件中的控制字符以及进行字符转换操作。 2. 语法 tr [OPTION]... SET1 [SET2] 3. 参数 3.1 -s 压缩重复字符 -s: squeeze-...
  • tr命令详解

    万次阅读 2017-08-18 19:20:30
    tr -c -d -s [“string1_to_translate_from”] [“string2_to_translate_to”] -c 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII。 -d 删除字符串1中所有输入字符。 -s 删除所有重复出现字符序列,只...

    tr -c -d -s [“string1_to_translate_from”] [“string2_to_translate_to”] < input-file

    • -c 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII。
    • -d 删除字符串1中所有输入字符。
    • -s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。
    • input-file是转换文件名。虽然可以使用其他格式输入,但这种格式最常用。

    字符范围

    指定字符串1或字符串2的内容时,只能使用单字符或字符串范围或列表。

    • [a-z] a-z内的字符组成的字符串。
    • [A-Z] A-Z内的字符组成的字符串。
    • [0-9] 数字串。
    • \octal 一个三位的八进制数,对应有效的ASCII字符。
    • [O*n] 表示字符O重复出现指定次数n。因此[O*2]匹配OO的字符串。
    • tr中特定控制字符的不同表达方式

    速记符含义八进制方式

    • \a Ctrl-G 铃声\007
    • \b Ctrl-H 退格符\010
    • \f Ctrl-L 走行换页\014
    • \n Ctrl-J 新行\012
    • \r Ctrl-M 回车\015
    • \t Ctrl-I tab键\011
    • \v Ctrl-X \030

    实例:

    将文件file中出现的”abc”替换为”xyz”

    # cat file | tr “abc” “xyz” > new_file

    【注意】这里,凡是在file中出现的”a”字母,都替换成”x”字母,”b”字母替换为”y”字母,”c”字母替换为”z”字母。而不是将字符串”abc”替换为字符串”xyz”。

    2、使用tr命令“统一”字母大小写
    (小写 –> 大写)
    # cat file | tr [a-z] [A-Z] > new_file
    (大写 –> 小写)
    # cat file | tr [A-Z] [a-z] > new_file

    3、把文件中的数字0-9替换为a-j

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

    4、删除文件file中出现的”Snail”字符

    # cat file | tr -d “Snail” > new_file

    【注意】这里,凡是在file文件中出现的’S’,’n’,’a’,’i’,’l’字符都会被删除!而不是紧紧删除出现的”Snail”字符串。

    5、删除文件file中出现的换行’\n’、制表’\t’字符

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

    不可见字符都得用转义字符来表示的,这个都是统一的。

    6、删除“连续着的”重复字母,只保留第一个

    # 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后面是两个参数”\r”和”\n”,用后者替换前者

    9、用空格符\040替换制表符\011

    # cat file | tr -s “\011” “\040” > new_file

    10、把路径变量中的冒号”:”,替换成换行符”\n”

    # echo $PATH | tr -s “:” “\n”

    展开全文
  • tr 命令 详解

    2020-11-26 22:34:56
    tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。 语法 tr(选项)(参数) 选项 -c或——complerment:取代所有不属于第一字符...

     

    tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。

    语法

    tr(选项)(参数)

    选项

    -c或——complerment:取代所有不属于第一字符集的字符;
    -d或——delete:删除所有属于第一字符集的字符;
    -s或--squeeze-repeats:把连续重复的字符以单独一个字符表示;
    -t或--truncate-set1:先删除第一字符集较第二字符集多出的字符。

    参数

    • 字符集1:指定要转换或删除的原字符集。当执行转换操作时,必须使用参数“字符集2”指定转换的目标字符集。但执行删除操作时,不需要参数“字符集2”;
    • 字符集2:指定要转换成的目标字符集。

    实例

    将输入字符由大写转换为小写:

    echo "HELLO WORLD" | tr 'A-Z' 'a-z'
    hello world
    

    'A-Z' 和 'a-z'都是集合,集合是可以自己制定的,例如:'ABD-}'、'bB.,'、'a-de-h'、'a-c0-9'都属于集合,集合里可以使用'\n'、'\t',可以可以使用其他ASCII字符。

    使用tr删除字符:

    echo "hello 123 world 456" | tr -d '0-9'
    hello  world 

    将制表符转换为空格:

    cat text | tr '\t' ' '

    字符集补集,从输入文本中将不在补集中的所有字符删除:

    echo aa.,a 1 b#$bb 2 c*/cc 3 ddd 4 | tr -d -c '0-9 \n'
     1  2  3  4
    

    此例中,补集中包含了数字0~9、空格和换行符\n,所以没有被删除,其他字符全部被删除了。

    用tr压缩字符,可以压缩输入中重复的字符:

    echo "thissss is      a text linnnnnnne." | tr -s ' sn'
    this is a text line.

    巧妙使用tr做数字相加操作:

    echo 1 2 3 4 5 6 7 8 9 | xargs -n1 | echo $[ $(tr '\n' '+') 0 ]
    

    删除Windows文件“造成”的'^M'字符:

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

    tr可以使用的字符类:

    [:alnum:]:字母和数字
    [:alpha:]:字母
    [:cntrl:]:控制(非打印)字符
    [:digit:]:数字
    [:graph:]:图形字符
    [:lower:]:小写字母
    [:print:]:可打印字符
    [:punct:]:标点符号
    [:space:]:空白字符
    [:upper:]:大写字母
    [:xdigit:]:十六进制字符

    使用方式:

    tr '[:lower:]' '[:upper:]'
    
    生成固定长度的随机密码
    head /dev/urandom | tr -dc A-Za-z0-9 | head -c 20
    展开全文
  • Linux tr 命令详解

    2021-05-10 08:18:04
    tr 命令通常通过管道与其他命令结合使用,可以执行删除重复字符,将大写转换为小写,以及替换和删除基本字符等操作。在本教程中,我们将向您展示如何 tr 通过实际示例和最常见选项的详细说明来使用该命令。如何...

    tr 是 Linux 和 Unix 系统中的命令行实用程序,用于转换,删除和挤压标准输入中的字符,并将结果写入标准输出。该 tr 命令通常通过管道与其他命令结合使用,可以执行删除重复字符,将大写转换为小写,以及替换和删除基本字符等操作。在本教程中,我们将向您展示如何 tr 通过实际示例和最常见选项的详细说明来使用该命令。

    如何使用 Tr 命令

    该 tr 命令的语法如下:tr OPTION... SET1 [SET2]

    tr 接受两组字符,通常具有相同的长度,并用第二组中的相应字符替换第一组的字符。

    一个 SET 就是一串字符,包括特殊的反斜杠转义字符。

    在下面的示例中, tr 将 linuxidc 通过将第一个集合中的字符与第二个集合中的匹配元素进行映射来替换标准输入中的所有字符。root@localhost:~/www.found5.com$ echo 'lin-apple' | tr 'lin' 'red'

    tr 将使用 r 替换 l ,使用 e 替换 i 和 d 替换 n 。

    red-apple

    还可以使用字符范围定义字符集。例如:root@localhost:~/www.found5.com$ echo 'linux-system' | tr 'lmno' 'wxyz'

    wiyux-system

    您可以使用:root@localhost:~/www.found5.com$ echo 'linux-system' | tr 'l-n' 'w-z'

    wiyux-system

    当使用 -c(--complement) 选项时, tr 将替换不在 SET1 中的所有字符。

    在下面的示例中, SET1 中不包含的所有字符将替换为 SET2 中的最后一个字符:echo 'linuxidc' | tr -c 'li' 'xy'

    liyyyiyyy

    您可能已经注意到输出比输入多了一个字符。这是因为该 echo 命令打印了一个不可见换行符 \n 也被替换为 y 。要在没有新行的情况下回显字符串,请使用该 -n 选项。

    -d(--delete) 选项告诉 tr 以删除 SET1 指定的字符。

    以下命令将删除 SET1 中指定的所有字符。在不挤压的情况下删除字符时,只能指定一个字符集。root@localhost:~/www.found5.com$ echo 'Linuxidc' | tr -d 'lid'

    L 不会删除该字符,因为输入包含的是大写的 L ,而集合中的字符包含小写的 l 。

    Lnuxc

    在 -s(--squeeze-repeats) 选项替换重复出现的字符集。在以下示例 tr 中将删除重复的空格字符:root@localhost:~/www.found5.com$ echo "GNU    \    Linux" | tr -s ' '

    GNU \ Linux

    使用 SET2 时, SET1 中指定的字符序列将替换为 SET2 。root@localhost:~/www.found5.com$ echo "GNU    \    Linux" | tr -s ' ' '_'

    GNU_\_Linux

    -t(--truncate-set1) 选项强制 tr 到做进一步处理之前截断 SET1 到 SET2 的长度。

    默认情况下,如果 SET1 大于 SET2   tr 将重用 SET2  的最后一个字符。这是一个例子:root@localhost:~/www.found5.com$ echo 'Linux idc' | tr 'abcde' '12'

    输出将显示 SET1 中的字符 e 与 SET2 的最后字符匹配,即 2 :

    Linux i22

    现在使用带有 -t 选项的相同命令:root@localhost:~/www.found5.com$ echo 'Linux idc' | tr -t 'abcde' '12'

    您可以看到,在这种情况下, SET1 的最后三个字符将被删除。 SET1 变为 ‘ab’ ,与 SET2 的长度相同。

    Linux idc

    组合选项

    该 tr 命令还允许您组合使用选项。例如,下面的命令将替换所有字符除了 i 用 0 ,然后它会挤压重复 0 字符:echo 'Linux idc' | tr -cs 'i' '0'

    0i0i0

    Tr 命令示例

    在本节中,我们将介绍 tr 命令常见用法的几个示例。

    将小写转换为大写

    将小写转换为大写或大写转为小写是 tr 命令的典型用例之一。 [:lower:] 匹配所有小写字符, [:upper:] 匹配所有大写字符。echo 'Linuxidc' | tr '[:lower:]' '[:upper:]'

    LINUXidc

    您也可以使用范围代替字符类:echo 'Linuxidc' | tr 'a-z' 'A-Z'

    要将大写字母转换为小写字母,只需切换集合的位置即可。

    删除所有非数字字符

    以下示例将从传递给 tr 命令的输入中删除所有非数字字符:echo "my phone is 123-456-7890" | tr -cd [:digit:]

    [:digit:] 代表所有数字字符,通过使用该 -c 选项,该命令将删除所有非数字字符。输出将如下所示:

    1234567890

    将每个单词放在新行中

    要将每个单词放在一个新行中,我们需要匹配所有非 alpha 数字字符并用新行替换它们:root@localhost:~/www.found5.com$ echo 'GNU is an operating system' | tr -cs '[:alnum:]' '\n'

    GNU

    is

    an

    operating

    system

    删除空行

    要删除空白行,只需挤压重复的换行符:tr -s '\n'  new_file.txt

    在上面的命令中,我们使用重定向符号将命令 < 的内容作为输入传递 file.txt 给 tr 命令。重定向 > 将命令的输出写入 new_file.txt 。

    在单独的行上打印 $PATH 目录

    该 $PATH 环境变量是一个冒号分隔的列表,告诉 SHELL 当你输入一个命令时可以在哪些目录来搜索可执行文件。

    要在单独的行上打印每个目录,我们需要匹配冒号 (:) 并将其替换为新行:root@localhost:~/www.found5.com$ echo $PATH | tr  ':' '\n'

    /home/root/.cargo/bin

    /home/root/.local/bin

    /usr/local/sbin

    /usr/local/bin

    /usr/sbin

    /usr/bin

    /sbin

    /bin

    /usr/games

    /usr/local/games

    /snap/bin

    /opt/nodejs/bin

    到目前为止,您应该很好地理解如何使用 Linux tr 命令。虽然非常有用, tr 但只能使用单个字符。对于更复杂的模式匹配和字符串操作,您应该使用 sed 或 awk 。

    本文来自投稿,不代表访得立场,如若转载,请注明出处:http://www.found5.com//view/603.html

    展开全文
  • linux tr命令详解

    2021-05-11 08:12:32
    tr命令可以对来自标准输入的字符进行替换、压缩和删除。下面由学习啦小编为大家整理了linux tr命令的相关知识,希望对大家有帮助!linux tr命令用途tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一...

    tr命令可以对来自标准输入的字符进行替换、压缩和删除。下面由学习啦小编为大家整理了linux tr命令的相关知识,希望对大家有帮助!

    linux tr命令用途

    tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。

    linux tr命令语法

    tr(选项)(参数)

    linux tr命令选项

    -c或——complerment:取代所有不属于第一字符集的字符;

    -d或——delete:删除所有属于第一字符集的字符;

    -s或--squeeze-repeats:把连续重复的字符以单独一个字符表示;

    -t或--truncate-set1:先删除第一字符集较第二字符集多出的字符。

    linux tr命令参数

    字符集1:指定要转换或删除的原字符集。当执行转换操作时,必须使用参数“字符集2”指定转换的目标字符集。但执行删除操作时,不需要参数“字符集2”;

    字符集2:指定要转换成的目标字符集。

    linux tr命令实例

    将输入字符由大写转换为小写:

    echo "HELLO WORLD" | tr 'A-Z' 'a-z'

    hello world

    'A-Z' 和 'a-z'都是集合,集合是可以自己制定的,例如:'ABD-}'、'bB.,'、'a-de-h'、'a-c0-9'都属于集合,集合里可以使用'\n'、'\t',可以可以使用其他ASCII字符。

    使用tr删除字符:

    echo "hello 123 world 456" | tr -d '0-9'

    hello world

    将制表符转换为空格:

    cat text | tr '\t' ' '

    字符集补集,从输入文本中将不在补集中的所有字符删除:

    echo aa.,a 1 b#$bb 2 c*/cc 3 ddd 4 | tr -d -c '0-9 \n'

    1 2 3 4

    此例中,补集中包含了数字0~9、空格和换行符\n,所以没有被删除,其他字符全部被删除了。

    用tr压缩字符,可以压缩输入中重复的字符:

    echo "thissss is a text linnnnnnne." | tr -s ' sn'

    this is a text line.

    巧妙使用tr做数字相加操作:

    echo 1 2 3 4 5 6 7 8 9 | xargs -n1 | echo $[ $(tr '\n' '+') 0 ]

    删除Windows文件“造成”的'^M'字符:

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

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

    tr可以使用的字符类:

    [:alnum:]:字母和数字

    [:alpha:]:字母

    [:cntrl:]:控制(非打印)字符

    [:digit:]:数字

    [:graph:]:图形字符

    [:lower:]:小写字母

    [:print:]:可打印字符

    [:punct:]:标点符号

    [:space:]:空白字符

    [:upper:]:大写字母

    [:xdigit:]:十六进制字符

    使用方式:

    tr '[:lower:]' '[:upper:]'

    展开全文
  • Linux:tr命令详解

    2019-10-05 16:37:53
    tr命令可以对来自标准输入的字符进行替换、压缩和删除 语法 tr(选项)(SET1 SET2) 选项 -c或——complerment:取代所有不属于第一字符集的字符; -d或——delete:删除所有属于第一字符集的字符; ...
  • shell中tr命令详解

    2020-02-20 19:41:58
    1.tr命令 tr是translate的简写 在这里用到的意思是转化,转变,转换 命令参数及说明: 参数 全称 说明 -c, -C –complement 用集合1中的字符串替换,要求字符集为ASCII。 -d –delete 删除集合1中的字符而...
  • Linux tr命令详解

    2017-08-24 20:44:03
    tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。语法tr(选项)(参数) 选项-c或——complerment:取代所有不属于第一字符集的字符;...
  • linux shell tr命令详解

    2021-05-12 03:31:49
    tr命令是linux下的一个命令,那么它的语法和用途是什么呢?下面由学习啦小编为大家整理了linux shell tr命令的相关知识,希望大家喜欢!linux shell tr命令tr是translate的简写,亦即翻译,但是遗憾的是,它不能翻译...
  • tr 命令详解

    2017-04-02 23:20:10
    tr 命令详解通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能。您可以将 tr 看作为 sed 的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符。您也可以用它来除去重复字符。...
  • 通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能。您可以将 tr 看作为 sed 的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符。您也可以用它来除去重复字符。这就是所有 tr...
  • 服务器维护Linux tr 命令详解tr 是 Linux 和 Unix 系统中的命令行实用程序,用于转换,删除和挤压标准输入中的字符,并将结果写入标准输出。该 tr 命令通常通过管道与其他命令结合使用,可以执行删除重复字符,将...
  • linux之字符转换tr命令详解 tr - translate or delete characters tr是用来转换或者删除某些字符,只能从标准输入中获取参数,不能从命令行获取参数,所以tr命令常与管道符结合使用。 注意:tr命令是对单个字符的...
  • linux之tr命令详解

    2020-06-05 09:30:08
    通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能。您可以将 tr 看作为 sed 的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符。您也可以用它来除去重复字符。这就是所有 ...
  • tr命令详解 Linux字符转换这篇文章写的非常的实际,操作起来也很方便,为我们的数据同步和备份提供了很重要的作用,可以参考!!对系统管理员来说,平时的工作重心应该集中在维护系统正常运转,能够正常提供服务上,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,056
精华内容 3,222
关键字:

tr命令详解