less +Fで「Waiting for data...(割り込み中断)」を非表示にします。

less +Fで「Waiting for data...(割り込み中断)」を非表示にします。

少なく実行する場合は+Fファイル名下部に「Waiting for data...(interrupt aborted)」という「バー」があります。

フォローモードを維持しながらこのテキストを非表示にする方法はありますか?

ベストアンサー1

文字列にパッチを当てることができます。データ待機中...(割り込み中断)/usr/bin/less文字列が見つかった場合は、バイナリのコピーから 。例えば、

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

文字列のバイトオフセットを印刷する必要があります。ただし、lessメッセージは2つの部分に分かれているため(私のバージョンでは)何も表示されません。たとえば、次のように動作します。

$ 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

おすすめ記事