![使用 tr 命令编辑文本](https://linux22.com/image/1048792/%E4%BD%BF%E7%94%A8%20tr%20%E5%91%BD%E4%BB%A4%E7%BC%96%E8%BE%91%E6%96%87%E6%9C%AC.png)
使用命令时:
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”解释为换行符。