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