純粋なデータをjsonファイルに変換

純粋なデータをjsonファイルに変換

みんな。私はLinuxに初めてアクセスし、このサイトを読んで多くのことを学びました。私の会計プログラムに問題がありました。データをプレーンテキストからjsonに移動したいと思います。これにより、より良い結果とより柔軟性が得られると信じています。

別のファイルに情報を含むフォルダがあります。ファイルは次のようになります。

20170404
pago
80051442-4
002-001-0080057
310000


310000
si
2017-06-05

この情報を各行が新しいjsonフィールドである新しいファイルにコピーしたいと思います。このような:

{
"field1":"20170404",
"field2":"pago",
"field3":"80051442-4",
"field4":"002-001-0080057",
"field5":"310000"
"field6":"",
"field7":"";
"field8":"310000"
"field9":"si"
"field10":"2017-06-05"
}

私はディレクトリ全体を読み、oldfile.jsonという新しいファイルを構築するスクリプトを探しています。

その後、これらの複数のファイルの結果を別の列に表示したいと思います。

file1    field1    field2    field3   field4    field5    field6    field7
file2    field1    field2    field3   field4    field5    field6    field7
file3    field1    field2    field3   field4    field5    field6    field7
file4    field1    field2    field3   field4    field5    field6    field7
file5    field1    field2    field3   field4    field5    field6    field7

お時間をいただきありがとうございます。

ベストアンサー1

私は以下を使用してこの問題を解決します。ジャックツール(適切なJSON解析/操作ツール):

for f in *; do
    jq -R -s 'rtrimstr("\n") | split("\n") | to_entries | reduce .[] as $o ({}; .["field" + ($o.key+1|tostring)] |= $o.value )' "$f" > "$f".json; 
done

  • -R()と()の組み合わせ--raw-input- 入力全体を1つの長い文字列としてフィルタに渡します。-s--slurp

おすすめ記事