我有一个别名来查看我的apache错误日志,它使用sed将换行符格式化为换行符以更好地显示。以下命令在通过命令行输入时工作得很好,但不会作为别名工作。每次我运行这个时,我需要打开我的.profile文件,复制别名的内容,并将其粘贴到命令行中。在引号和转义字符的别名中使用sed
tail -f /var/log/httpd/my-sandbox-error_log | sed -e 's/\\n/\n/g'
别名:
alias elog="tail -f /var/log/httpd/my-sandbox-error_log | sed -e 's/\\n/\n/g'"
香港专业教育学院尝试了许多方法,已经换了引号字符,并与转义字符a'plenty实验。似乎我永远不能让我的别名使用sed搜索/替换(错误日志已尾,没有换行格式)。我确定有一些微不足道的东西,我很天真。我不是一个Unix/Linux专家。
任何人都可以启发我为什么这不作为别名工作?
如果您在命令行中定义了别名,该怎么办?也许只是把它加到你的'〜/ .bashrc'然后找到它。 – fedorqui
在命令行中定义别名具有相同的效果(我首先将其从我的.profile中移除并重新获得它):我的错误日志上的尾部运行,但换行符未被格式化。我不认为这个问题出现在定义别名的地方,而且我试图用别名来摆弄数十次的每一次“source〜/ .profile”。为了您的评论,我将它从.profile中移除并放置在.bashrc中,并且仍然具有相同的确切效果 - 尾部运行但没有格式化。再次,在命令行上运行相同的命令,没有别名,按预期工作。 – Todd
你可以试试'alias elog =“tail -f/var/log/httpd/my-sandbox-error_log | sed -e's/\\ n /'$'\ n/g'”'? – damienfrancois