TL; DR
次のワンライナーで可能です。
新規JSONファイルを生成するワンライナー
echo {} | jq '.is_created = "true"' > file.json
はじめに
JSONファイルを新規生成(新規作成)したいです。
jq コマンドは既存ファイルを整形するためのコマンドであり、新規ファイルを生成するためのコマンドではありません。
そのため、入力ファイルが無い場合にコマンドを実行しようとしても、正常に動作してくれません。
ファイル引数が無いために正常動作しないワンライナー
jq '.is_created = "true"' > file.json
これを解決する手法を探します。
解決策
echo コマンドによって、空っぽのJSONを引数にすることで、解決できます。
新規JSONファイルを生成するワンライナー
echo {} | jq '.is_created = "true"' > file.json
上記ワンライナーで生成されたfile.json
{
"is_created": "true"
}
jq コマンドを駆使すれば、複雑なJSONも通常通りに生成できます。
おわりに
考えればなんてことはないものですが、地味に頭を捻らせたのでまとめておきました。