myfreax
tr

Linux tr 命令去除空行

tr是Linux和Unix系统中的命令行程序,可转换,删除和压缩标准输入的字符

3 min read
By myfreax
Linux tr 命令去除空行
Linux tr 命令去除空行

tr是Linux和Unix系统中的命令行程序,可转换,删除和压缩标准输入的字符,并将结果写入标准输出

tr命令通常通过管道与其他命令组合使用,并且可以执行删除重复字符,将大写转换为小写以及基本字符替换和删除的操作。

在本教程中,我们将向你展示如何使用tr命令去除空行,以及说明tr命令的选项。

tr命令选项

tr命令的语法形式是tr OPTION... SET1 [SET2]OPTION选项是必须的参数,SET是字符集合,可以是一个多个字符集合。

tr命令默认接受具有相同长度的两组字符,并用第二组中字符集合替换第一组存在的字符集合。

例如命令echo 'myfreax' | tr 'myf' 'red'm替换为ry替换为e,将f替换为d

echo 'myfreax' | tr 'myf' 'red'
redreax

-s/--squeeze-repeats选项使用最后一个字符集合替换重复出现的字符。命令echo "GNU     \    Linux" | tr -s ' '删除重复出现的空格字符。

在指定第二个字符集合时,首先使用第一个字符集合替换字符串GNU     \    Linux,然后使用第二个字符集合替换第一个字符集合。

echo "GNU     \    Linux" | tr -s ' ' #GNU \ Linux
echo "GNU     \    Linux" | tr -s ' ' '_' #GNU_\_Linux

这里列出的选项仅用于帮助你理解如何使用tr命令删除空格,要学习更多,阅读我们的教程Linux tr命令实例教程

Linux tr命令实例教程 | myfreax
tr命令可转换,删除和压缩标准输入的字符,并将结果写入标准输出

tr 命令删除空行

由于tr命令仅接受标准输入,因此必须使用标准输入重定向符号<,将标准输入的键盘替换为文件。

tr命令的-s选项表示使用最后一个字符集合替换重复出现的字符。换行符号在单行中会被以为是重复字符串。

tr -s '\n'组合就是替换重复的换行符,由于命令没有指定第二个字符集合,因此没有字符替换。

最后> new_file.txt就是将tr命令的标准输出重定向到文件new_file.txt

tr -s '\n' < file.txt > new_file.txt

Related Articles