linux tr命令详解

linux tr命令详解

linux tr命令详解

介绍

在Linux操作系统中,tr命令是一个非常常用的文本处理工具。tr是”translate”(翻译)的缩写,用于对标准输入文本进行字符替换、删除、压缩和截取等操作。本文将详细介绍tr命令的各种用法,并给出相应的示例代码和运行结果。

语法

tr [OPTION]... SET1 [SET2]

参数说明

  • -c:用 SET1 中未指定的字符替换所有字符。
  • -d:删除 SET1 中所有字符。
  • -s:在 SET1 中连续出现重复的字符只保留一个。
  • -t:将 SET1 中的字符映射为 SET2 中的字符。
  • -C:与-c相同,但是是针对每一个字符而不是每一个输入行进行替换。
  • -d:与-d相同,但是是针对每一个字符而不是每一个输入行进行删除。

SET1 和 SET2

tr命令中,SET1和SET2都是字符集合,SET1是需要处理的字符集合,而SET2是希望将SET1中的字符替换为的字符集合。SET1和SET2可以有以下几种形式:

  • c1-c2:表示从字符c1到字符c2之间的所有字符。
  • [c*]:表示零个或多个c字符。
  • [:class:]:表示指定字符类别(如:alnum,alpha,digit,lower,print,space,upper等)。
  • string:表示包含在双引号中的字符串。
  • char1[set1~set2]:表示除了字符char1外的字符都可以出现在set1和set2中。

示例代码及运行结果

删除字符

# 删除文本中的空格
echo "Hello World" | tr -d " "
HelloWorld

# 删除文本中的数字 echo "123Hello456" | tr -d "[:digit:]"
Hello

# 删除文本中的小写字母
$ echo "Hello world" | tr -d "[:lower:]"
H

字符转换

# 将数字替换为*
echo "123Hello456" | tr "[:digit:]" "*"
***Hello***

# 将小写字母替换为大写字母 echo "Hello world" |tr "[:lower:]" "[:upper:]"
HELLO WORLD

# 替换字符串中的字符
$ echo "apple" | tr "ae" "A"
ApplA

压缩字符

# 压缩连续重复的字符为单个字符
echo "Hello     world" | tr -s " "
Hello world

# 压缩重复的数字为单个数字 echo "122333444455555" | tr -s "[:digit:]"
12345

字符替换

# 使用 SET1 和 SET2 进行字符映射替换
echo "abcde" | tr "abc" "xyz"
xyzde

# 使用 SET1 进行字符映射替换 echo "apple" | tr "[:lower:]" "[:upper:]"
APPLE

# 使用 SET1 和 SET2 进行字符映射替换
$ echo "abcde" | tr "a-c" "x-z"
xyzde

字符删除

# 删除文本中的空格和数字
echo "Hello123 World" | tr -d "[:digit:] "
HelloWorld

# 删除文本中的大写字母 echo "Hello World" | tr -d "[:upper:]"
ello orld

总结

tr命令是Linux中常用的文本处理工具,可以对字符进行替换、删除、压缩和截取等操作。本文对tr命令的语法进行了详解,并给出了各种常见的示例代码和运行结果。通过掌握tr命令,可以提高在Linux系统中处理文本的效率。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程