Terminal

如何在終端中禁用換行?

  • February 18, 2022

我需要使用 bash shell 查看大型日誌文件。我less用來打開文件,但由於行太長,所以會出現某種換行/自動換行。

由於文件是 Log4J 日誌,並且每一行的開頭都有一個模式,因此換行會導致難以分析輸出,所以我開始使用less -Swhich 砍長行。

但現在我需要使用tail -f,它還對輸出進行換行。是否可以在 bash shell 中為所有命令禁用換行?

**注意:**有一個不同問題的答案提到了轉義序列echo -ne '\e[?7l',但它似乎不適用於 bash。

嘗試:

less -S +F filename

=

less --chop-long-lines +F filename

然後:

  • Ctrl``c停止拖尾,現在您可以使用游標鍵左右移動。
  • Shift``f恢復拖尾
  • Ctrl``c,q退出

less 手動: + 如果命令行選項以 + 開頭,則該選項的其餘部分被視為 less 的初始命令。

例如,+F告訴 less 向前滾動,並在到達文件末尾時繼續嘗試讀取

從 superuser找到了一個很好的答案,它適用於開箱即用gnome-terminal,並且可能也適用於其他終端:

setterm -linewrap off

在此處輸入圖像描述

引用自:https://unix.stackexchange.com/questions/20493