tr是Linux和Unix系统中的命令行程序,可转换,删除和压缩标准输入的字符,并将结果写入标准输出。
tr
命令通常通过管道与其他命令组合使用,并且可以执行删除重复字符,将大写转换为小写以及基本字符替换和删除的操作。
在本教程中,我们将的详细向您展示如何在Linux使用tr
命令去除空格。
tr 命令选项
tr
命令的语法形式是tr OPTION... SET1 [SET2]
。OPTION
选项是必须的参数,SET
是字符集合,可以是一个多个字符集合。
tr
命令默认接受具有相同长度的两组字符,并用第二组中字符集合替换第一组存在的字符集合。
例如命令echo 'myfreax' | tr 'myf' 'red'
将m
替换为r
,y
替换为e
,将f
替换为d
。
echo 'myfreax' | tr 'myf' 'red'
redreax
这里列出的选项仅用于帮助你理解如何使用tr命令删除空格,要学习更多,阅读我们的教程Linux tr命令实例教程。
tr 命令去除空格
由于tr命令仅接受标准输入,因此使用echo命令生成标准输出然后通过管道传递给tr
命令,将要删除空格字符串。
当然tr
命令也可以接受文件的输入,如果你清除文件的空格,请看下面章节查看tr命令接受文件的输入。
tr
命令的-s
选项使用最后一个字符集合替换重复出现的字符。例如echo "GNU \ Linux" | tr -s ' ' #GNU \ Linux
命令将会删除连续空格。
echo "GNU \ Linux" | tr -s ' ' #GNU \ Linux
GNU \ Linux
tr 命令删除空行
由于tr命令仅接受标准输入,因此必须使用标准输入重定向符号<
,将标准输入的键盘替换为文件。
tr
命令的-s
选项表示使用最后一个字符集合替换重复出现的字符。换行符号在单行中会被以为是重复字符串。
tr -s '\n'
组合就是替换重复的换行符,由于命令没有指定第二个字符集合,因此没有字符替换。
最后> new_file.txt
就是将tr命令的标准输出重定向到文件new_file.txt
。
tr -s '\n' < file.txt > new_file.txt