Tha*_*tit 4 grep sed text-processing
我有一个包含 4000 多个字符的文件,我想 grep 位置 148 和 1824 之间的字符串。我该怎么做?
ter*_*don 11
你不使用grep。有一种工具专为此类事情而设计:cut
. 要获取字符 148 到 1824,请执行以下操作:
cut -c 148-1824 file
Run Code Online (Sandbox Code Playgroud)
该-c
标志表示选择字符。使用-b
,如果你想在工作字节。
如果你坚持使用grep
,你将不得不做这样的事情(假设 GNU grep)
grep -Po '^.{147}\K.{1675}' file
Run Code Online (Sandbox Code Playgroud)
这匹配前 147 个字符 ( ^.{147}
) 并丢弃它们 ( \K
)。然后它匹配接下来的 1675 个字符。该-o
标志告诉grep
只打印一行的匹配部分,并且该-P
标志打开与 perl 兼容的正则表达式,让我们使用\K
.