从不带空格的长字符串中获取短字符串

从不带空格的长字符串中获取短字符串

我有一个文件,其中有一个巨大的字符串,其中没有空格(例如:“A”:123,“B”:456,“C”:789 ...)
我想在特定的前后获取X个字符数值(如“B”周围的值)。
但是,如果我使用 cat,因为字符串没有空格,所以整个字符串都会返回。
我尝试了cat time_series.json | grep "B" | cut -c1-50,但又全部恢复了。
我尝试过cat time_series.json | grep "B" | cut -b 1-400,但它只返回开始(并且我的字符串位于中间)
我能做什么?

答案1

您可以要求grep仅输出匹配模式,并在您要查找的标记周围包含适当数量的字符的通配符;例如

grep -E -o '.{50}"B".{50}'

显示"B"100 个字符的上下文。

相关内容