少跑时+F文件名底部有一个“栏”,上面写着“等待数据...(中断中止)”。
有没有办法在保持跟随模式的同时隐藏此文本?
答案1
您可以尝试修补字符串等待数据...(中断中止)在您自己的二进制文件副本中/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