English 中文(简体)
bash 写入以归档包含从 bash 转换的数组的json 对象
原标题:bash write to file a json object containing array converted from bash
I have a bash array that I want to convert to json and write to file. Suppose it is my_strings=("hello" "world") I have managed to convert it to json and write to file with: for f in "${my_strings[@]}"; do printf %s "$f" | jq -R -s .; done | jq -s >> test_.json and the output resulting file looks like: [ "hello", "world" ] However, the output I would like to have is { "strings_": [ "hello", "world" ] } I ve tried prepend and append the graphs and the key like this: printf { "strings_": > test_.json; for f in "${my_strings[@]}"; do printf %s "$f" | jq -R -s .; done | jq -s >> test_.json; printf "} " >> test_.json but the resulting indentation is not good. Is there a better way to do this?
最佳回答
You re looking for something like this: $ my_strings=("hello" "world") $ jq -n --args {strings_: $ARGS.positional} "${my_strings[@]}" { "strings_": [ "hello", "world" ] }
问题回答

暂无回答




相关问题
Parse players currently in lobby

I m attempting to write a bash script to parse out the following log file and give me a list of CURRENT players in the room (so ignoring players that left, but including players that may have rejoined)...

encoding of file shell script

How can I check the file encoding in a shell script? I need to know if a file is encoded in utf-8 or iso-8859-1. Thanks

Bash usage of vi or emacs

From a programming standpoint, when you set the bash shell to use vi or emacs via set -o vi or set -o emacs What is actually going on here? I ve been reading a book where it claims the bash shell ...

Dynamically building a command in bash

I am construcing a command in bash dynamically. This works fine: COMMAND="java myclass" ${COMMAND} Now I want to dynamically construct a command that redirectes the output: LOG=">> myfile.log ...

Perform OR on two hash outputs of sha1sum

I want perform sha1sum file1 and sha1sum file2 and perform bitwise OR operation with them using bash. Output should be printable i.e 53a23bc2e24d039 ... (160 bit) How can I do this? I know echo $(( ...

Set screen-title from shellscript

Is it possible to set the Screen Title using a shell script? I thought about something like sending the key commands ctrl+A shift-A Name enter I searched for about an hour on how to emulate ...

热门标签