【发布时间】:2020-07-02 01:57:15
【问题描述】:
快速 sed 问题
如何在文本文件中删除所有字符,包括整个文件中找到的第一个“[”,仅此而已?
我试过了
sed "s/^[^\[]*\[//" example.json
但它会删除每一行的所有文本。
或者,
我有一组文件是 JSON 文档集。我正在尝试将它们导入到 elasticsearch 中,但文件中的第一个文档是一个信息文档,其布局非标准,导致其余文档的导入混乱。我正在尝试删除第一个文档,以便后续文档可以正确加载。
这是文件:
【问题讨论】:
-
请在您的问题中添加示例输入(无描述、无图像、无链接)以及该示例输入所需的输出(无评论)。
-
GNU sed:
sed -z 's/^[^[]*\[//' example.json > example.out.json,见demo -
POSIX sed:
sed '/^[^\[]*\[/!d;s///;:1;n;b1'