tr命令
时间:2019-04-29 03:17:28 来源:igfitidea点击:
tr
命令(翻译)用于字面翻译或删除字符。tr
命令通常使用两组字符,然后将其替换为第二组字符。
tr命令示例
在以下示例中,我们使用tr
命令翻译键入的文本。任何以小写字母输入的字母都将翻译为大写字母:
john@ls001a:~> tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ welcome to the it road WELCOME TO THE IT ROAD
在大写
和小写
字符之间进行转换的一种更简单的方法是使用[:lower:]
和[:upper:]
选项:
john@ls001a:~> echo 'welcome to the it road' | tr "[:lower:]" "[:upper:]" WELCOME TO THE IT ROAD
通过指定字符范围az
和Az
,可以实现一种获得相同结果的流行方法。
john@ls001a:~> echo 'welcome to the it road' | tr "a-z" "A-Z" WELCOME TO THE IT ROAD
翻译文件的内容
在下面的例子中,我们使用了一个名为test.txt
的文件。文件内容如下图所示:
john@ls001a:~> cat test.txt start[] middle[] end[]
我们使用重定向读取文本文件的内容,然后将文件的翻译版本写入名为newfile.txt
的新文件中:
john@ls001a:~> tr '[]' '()' < test.txt > newfile.txt john@ls001a:~> cat newfile.txt start() middle() end()
删除指定字符
-d
参数可用于轻松删除字符:
john@ls001a:~> echo "This is another test" | tr -d 'a' This is nother test
在上面的示例中,字符a
已删除!
删除换行符
-d
选项用于指定tr
命令来删除字符。tr
命令的常见用法是从文件中删除换行
字符。换行字符为\n
。
john@ls001a:~> cat test2.txt Line one Line two Line three Line four Line Five john@ls001a:~> cat test2.txt | tr -d "\n" Line oneLine twoLine threeLine fourLine Five
除了-n
转义字符。您还可以指定以下任何值:
\NNN 8进制值为NNN的字符 \ 反斜杠 \a 蜂鸣 \b backspace \f 表单符 \n 换行 \r 回车 \t 水平制表符,即tab \v 垂直制表符
将换行转换为单个空格
john@ls001a:~> tr -s '\n' ' ' < test2.txt Line one Line two Line three Line four Line Five
Linux将空格转换为制表符
john@ls001a:~> echo "This is a test" | tr [:space:] '\t' This is a test
将空格转换为换行符
john@ls001a:~> echo "This is a test" | tr [:space:] '\n' This is a test
删除多余的空格
john@ls001a:~> echo "This is for testing" | tr -s [:space:] ' ' This is for testing