Linux
ssh 會話中的自動換行不適用於 grep
當我 ssh 到我的 Linux 伺服器並像這樣使用 grep 時:
grep ‘超時時間’ 日誌文件 | 較少的
自動換行不起作用。
但是,如果我使用相同的命令但先使用 less,如下所示:
更少的日誌文件 | grep ‘超時時間’
行換行。我不確定問題是什麼,或者這是否正常。但無論我使用什麼 ssh 客戶端,它都會發生。我已經嘗試過 putty 和 Ubuntu 客戶端。我怎樣才能解決這個問題?
當你這樣做
grep 'timeout exceeded' logfile | less
您可以使用向右箭頭鍵移動到行尾(向左向後移動)。
這不是 的預設行為
less
。預設是換行長行。您看到此行為是因為您在環境變數
-S
中設置了選項(和其他幾個) 。LESS
-S or --chop-long-lines Causes lines longer than the screen width to be chopped (trun‐ cated) rather than wrapped. That is, the portion of a long line that does not fit in the screen width is not shown. The default is to wrap long lines; that is, display the remainder on the next line.
要解決此問題,請檢查您的 shell 啟動腳本(例如
$HOME/.bash_profile
,$HOME/.bashrc
)和系統 shell 啟動腳本(例如/etc/profile.d
目錄中的那些)以查看環境變數的設置位置,並進行所需的更改。