有没有办法指示grep
在之后剪切结果X字符?
例如,如果我执行grep -iR searchString
,有时结果中会有压缩的 javascript 文件,其中整个代码都在一行中,这会“破坏”结果,因为有时我的终端需要处理太多内容,并且部分结果会消失,或者我有滚动很多。
例如结果应该从...改变
123456789
...到...
1234
...如果我使用伪选项执行 grep --show-n-chars 4
。
我在文档但我找不到东西。
答案1
您可以使用选项-o
仅结合-E
(扩展正则表达式)和模式打印匹配部分.{0,4}
以匹配最多四个字符后您的搜索模式:
$ echo "foo123456789" | grep -oE 'foo.{0,4}'
foo1234
或者您可以将结果通过管道传输到head -cN
(类似于cut
)以打印N
字符:
$ echo "foo123456789" | grep 'foo' | head -c4
foo1
答案2
grep
本身没有这样的选择。您可以使用以下命令实现您的目标cut
:
grep "foo" bar | cut -c -4
这只会打印每个grep
结果的前 4 个字符。