快速问题
在文本文件中,如何删除所有字符,包括在整个文件中找到的第一个'[',没有其他字符?
我尝试过
sed "s/^[^\[]*\[//" example.json
但是它会删除每一行中的所有文本。
或者,
我有一组文件,这些文件是JSON文档的集合。我正在尝试将它们导入Elasticsearch,但是文件中的第一个文档是具有非标准布局的信息文档,该文档使其余文档的导入变得混乱。我正在尝试删除第一个文档,以便后续文档可以正确加载。
这里是文档:
对于单个字符串,除了简单的s/old/new
以外,请使用awk。这将在每个UNIX框的任何shell中使用任何awk进行工作:
awk 'sub(/[^[]*\[/,""){f=1} f' file
我使用了两个sed命令来实现“删除直到找到的第一个'['的所有字符”的任务”
sed -n '/\[/,$p' example.json | sed -r '1 s/[^\[]*\[(.*)/\1/'