我有一个包含的如何分割文本行,并使用一个部分作为文件名,另一部分为文件内容
// dbname.filename.json[{"some":"very long", "...":"...", "JSON":"string"}]
// dbname.other_filename.json[{"sdfs":"dfdv", "...":"...", "osifu":"cvvcb"}]
// dbname.yet_another_filename.json[{"vcv":"t54tr", "...":"...", "yugf":"hft"}]
我想表格线大文本文件large.txt
使用Bash将大文件拆分成JSON文件,每个JSON文件都在文件行的开头。在上面的例子中,这将是filename.json
。我只得到了这里
grep '^\/\/ dbname\.' large.txt | sed -r 's#// dbname\.##'
有没有办法来分割文本行,并使用一个部分作为文件名,另一部分为文件内容?
其结果将是,例如
- 文件
filename.json
只包含字符串[{"some":"very long", "...":"...", "JSON":"string"}]
- 文件
other_filename.json
仅ontaining字符串[{"sdfs":"dfdv", "...":"...", "osifu":"cvvcb"}]
- 等
应该将'[{“some”:“very long”,“...”:“...”,“JSON”:“string”}]存储在filenames.json中吗? JSON数据总是在同一行吗? – anubhava
是的,确切地说。每一行由紧接着一串JSON数据的'dbname.filename.json'组成,全部在一行中。生成的文件应该包含该JSON字符串,并应根据行首的文件名命名。 – C14L
增加了一些更详细的问题。 – C14L