使用尾巴时,将\ n字符显示为换行符?


17

我有一个尝试通过使用tail -f读取的文件。我想知道是否有一种方法可以让终端输出实际的换行符而不是\ n字符。


1
通常,tail -f将换行符显示为换行符。如果这是您所看到的,则可能是您的控制台设置有问题。
乔恩·拉塞尔

1
或者他正在尾随一个实际上包含文字\ n的文件。可能在将换行符写入文件之前将其转换为文字“ \ n”。
乔什(Josh)2010年

Answers:


25
tail -f file | sed 's/\\n/\n/g'

2
我想补充一点,我发现我实际上需要在反斜杠之后的sed命令中实际输入一个换行符,以使其正常工作,例如:~$ tail -f /var/log/apache2/error_log | sed 's/\\n/\ > /g'
Jon z

有人知道多尾实现相同目标的方法吗?这里有一个问题:unix.stackexchange.com/questions/239774/...
fraxture

我无法在我的.bashrc
中将其

1
@Kdansky:您没有显示您如何定义别名或遇到什么问题,所以我只能猜测。您可能遇到的一个问题是报价。额外的反斜线可以帮助:alias forward="tail -f file | sed 's/\\\n/\n/g'"。如果希望将文件名指定为参数,则应使用函数而不是别名:forward () { tail -f "$@" | sed 's/\\n/\n/g'; }
已暂停,直到另行通知。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.