我知道less +/pattern filename
会打开文件并导航到模式的第一个出现位置。有没有办法告诉less
从末尾向后搜索?它甚至接受多个+
开关吗?
不工作:
less +?pattern filename
less +G +?pattern filename
答案1
页面man
说明less
语法如下less +?pattern filename
?pattern
Search backward in the file for the N-th line containing the
pattern. The search starts at the last line displayed (but see
the -a and -j options, which change this).
按n
继续向后搜索图案。 按N
向前搜索图案。
例子
为了测试文件.txt的
apple
banana
carrot
apple
banana
carrot
apple
banana
carrot
less +?banana testfile.txt
显示以下内容:
banana
carrot
答案2
一般来说,最好像这样?
退出pattern
shell:
less '+?pattern' filename
在您的情况下,您可能无法获得预期的结果,例如,当存在文件匹配+?pattern
或者您设置了 bash 选项nullglob
(用来shopt nullglob
检查它)时。
如有疑问,你可以使用echo
来查看你的shell改变了什么:
echo less +?pattern filename