Less

在 less +F 中隱藏“等待數據…(中斷中止)”

  • November 15, 2020

當執行 less +F文件名時,底部會出現一個“欄”,並帶有文本“等待數據…(中斷中止)”。

有沒有辦法在保持跟隨模式的同時隱藏此文本?

如果您能找到該字元串,您可以嘗試在您自己的二進製文件副本中修補字元串Waiting for data… (interrupt to abort) 。/usr/bin/less例如,

fgrep -abo 'Waiting for data... (interrupt to abort)' /usr/bin/less

應該以字節為單位將偏移量列印到字元串中。但它什麼也沒顯示(在我的版本中less),因為消息似乎分為兩部分。例如,這有效:

$ fgrep -abo 'Waiting for data' /usr/bin/less
125920:Waiting for data
$ fgrep -abo '... (interrupt to abort)' /usr/bin/less
163488:... (interrupt to abort)

所以你需要抑制2個字元串。(這意味著在其他情況下您也永遠不會看到*…(中斷中止) 。)*

您可以通過將第一個字元替換為 null 來抑製字元串,前提是程序使用典型的庫呼叫來列印它們。例如,使用此腳本:

cp /usr/bin/less myless
chmod +x myless
zap(){
offset=$(fgrep -abo "$1" myless)      # eg 125920:Waiting for data
offset=${offset%:*}              # remove :....
printf '\x00'  |
dd bs=1 count=1 status=none conv=notrunc seek="$offset" of=myless
}
zap 'Waiting for data'
zap '... (interrupt to abort)'
cmp -l /usr/bin/less myless       # check only 2 differences
./myless +F /var/log/messages

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