我有一個別名來查看我的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