使用 tr 命令编辑文本

使用 tr 命令编辑文本

使用命令时:

tr -s '\n' ' '< test1

其中 test1 是一个文本文件。

如果 test1 的编写方式包含换行符(换行符)而不包含 \n(反斜杠 n),则答案将如预期的那样,即所有换行符都被一个空格替换。

但是如果说 test1 的格式是包含 \n(反斜杠 n)而不是换行符,那么运行该命令时 \n 不会被单个空格替换,例如如果 test1 包含

hello \n\n\n how are \n\n you

那么输出是

hello \n\n\n how are \n\n you

并不是

hello   how are   you

答案1

那么问题是如何替换文字反斜杠-n?

如果是这样,就无法使用 tr 来完成,因为 tr 仅适用于单个字符。以下是在 sed(字符串编辑器)中执行此操作的方法:

$ cat test1
hello \n\n\n how are \n\n you
$ sed -e 's/\\n/ /g' < test1
hello     how are    you

请注意,需要额外的反斜杠来告诉 sed 我们在这里寻找文字反斜杠,并且不要将“\n”解释为换行符。

相关内容