2017-12-28 55 views
0

私はいくつかの書式なしのjsonファイルを用意しています。私は通常、単一のファイルのためにそれを行う方法は、次のとおりです。jsonフォーマットで複数のファイルを上書きするにはどうすればよいですか?

python -m json.tool <infile> outfile 

しかし、私はそれらを処理し、新しい「かわいい」JSONで同じファイルを上書きする方法を発見していない複数のファイルのために。

私が得た最も近いました:

find ./ -type f -exec python -m json.tool {} \; 

しかし、それはあなたが見ているファイルの数に応じて、罰金が、最適ではない標準出力にすべてを印刷します。上記のコマンドをprettified jsonでファイルを上書きさせる方法はありますか? message1.json、message2.jsonのように...事前

+0

https://stackoverflow.com/q/12965400/4886927を参照してください(あなたのpyhtonのコマンドで「cut」コマンドを置き換えてください) –

+0

@pasabaporaqui:私はそれを正確な欺瞞と呼ぶのか分かりません。 OPがファイル名の拡張子を変更したいかどうかは分かりません。彼らがより多くの情報を提供するのに便利です – Inian

+0

@israelord:実際のファイル名とファイルの内容を教えてください。拡張機能を元のファイルから新しいJSONに変更したいですか?または、同じ名前を持つ – Inian

答えて

1

おかげで試してみてください:

ファイルが呼び出され

find . -type f -exec sh -c 'python -m json.tool $0 > $0.pretty' {} \; 

は、詳細な説明

ため https://stackoverflow.com/a/12965441/4886927で見ます

このようにして、元のファイルは新しいファイルで上書きされます。

find . -type f -exec sh -c 'python -m json.tool < $0 > /tmp/pretty.json && mv /tmp/pretty.json $0' \; 
+0

同じ拡張子を保持する方法はありますか? – israelord

+0

@israelord:回答が更新されました –

関連する問題