📜  Unix/Linux 中的 tr 命令示例

📅  最后修改于: 2022-05-13 01:57:26.412000             🧑  作者: Mango

Unix/Linux 中的 tr 命令示例

UNIX 中的 tr 命令是用于转换或删除字符的命令行实用程序。它支持一系列转换,包括大写到小写、压缩重复字符、删除特定字符和基本查找和替换。它可以与 UNIX 管道一起使用以支持更复杂的转换。 tr 代表翻译。

句法 :

$ tr [OPTION] SET1 [SET2]

选项

-c :补充字符串的字符集。即,操作适用于不在给定集合中的字符
-d :从输出中删除第一组中的字符。
-s :用单次出现替换 set1 中列出的重复字符
-t : 截断 set1

示例命令



1.如何将小写字母转换为大写字母
要将小写转换为大写,可以使用 tr 中的预定义集。

$cat greekfile

输出:

WELCOME TO 
GeeksforGeeks
$cat greekfile | tr “[a-z]” “[A-Z]”

输出:

WELCOME TO
GEEKSFORGEEKS

或者

$cat geekfile | tr “[:lower:]” “[:upper:]”

输出:

WELCOME TO
GEEKSFORGEEKS

2. 如何将空白转换为制表符
以下命令将所有空白转换为制表符

$ echo "Welcome To GeeksforGeeks" | tr [:space:] '\t'

输出:

Welcome    To    GeeksforGeeks    

3.如何将大括号翻译成括号
您还可以在文件之间进行翻译。在这个例子中,我们将翻译带有括号的文件中的大括号。



$cat greekfile

输出:

{WELCOME TO} 
GeeksforGeeks
$ tr '{}' '()'   newfile.txt

输出:

(WELCOME TO) 
GeeksforGeeks

上面的命令将从“geekfile.txt”中读取每个字符,如果是大括号则进行翻译,并将输出写入“newfile.txt”。

4.如何使用-s挤压重复字符
要压缩集合中指定的重复出现的字符,请使用 -s 选项。这将删除一个字符的重复实例。
或者我们可以说,您可以用一个空格转换多个连续空格

$ echo "Welcome    To    GeeksforGeeks" | tr -s [:space:] ' '

输出:

Welcome To GeeksforGeeks

5. 如何使用 -d 选项删除指定字符
要删除特定字符使用 -d 选项。此选项删除指定的第一个字符集中的字符。

$ echo "Welcome To GeeksforGeeks" | tr -d 'w'

输出:

elcome To GeeksforGeeks

6. 要从字符串删除所有数字,请使用

$ echo "my ID is 73535" | tr -d [:digit:]

输出:

my ID is

7. 如何使用 -c 选项补充集合
您可以使用 -c 选项补充 SET1。例如,要删除除数字以外的所有字符,您可以使用以下命令。

$ echo "my ID is 73535" | tr -cd [:digit:]

输出:

73535