详解Linux tr命令:对文件进行字符替换和转换

  • Post category:Linux

Linux tr命令详解

tr 命令是一款流式编译器,可对来自标准输入的字符进行替换、删除、修改等操作,例如将小写字母转换为大写字母,或将某个字符删除。

语法

tr [选项] [字符串1] [字符串2]

选项

选项 描述
-c 它用来某个指定字符集合之外的所有字符。
-d 从指定的字符集合中删除字符。
-s 把重复出现的字符压缩为单个字符。

字符串1和字符串2的用法

  • 当不指定字符串2时,删除字符串1指定的所有字符。
  • 当两个字符串长度相同时,将字符串1中的每个字符都替换成字符串2中对应位置的字符。

测试示例

  1. 将文件内容的小写转换为大写。
$ cat text.txt
Hello World!
How are you?
$ cat text.txt | tr '[:lower:]' '[:upper:]'
HELLO WORLD!
HOW ARE YOU?

这个示例中,我们通过管道将 text.txt 这个文件的内容传递给 tr 命令,并使用字符类 [:lower:] 来表示小写字母,将其转换为大写字母 [:upper:]

  1. 删除字符串中的重复字符。
$ echo "aababac" | tr -s 'a'
ababc

这个示例中,我们将 aababac 这个字符串中连续出现的 a 字符压缩为单个字符,输出结果为 ababc

这就是 tr 命令的基本使用方法,除了上述示例外,还有很多其他有用的功能可供探索。