我试图从JSON
文件中读取数据,压缩它们,然后将它们输出回原始文件,但我运气不太好。文件分布在不同的目录中,我在根目录下运行find命令。
命令如下所示:
find . -name '*.json' -exec cat {} ; | jq -c '.'
将find
输出发送到while
循环以处理找到的文件并使用此答案可以实现您所期望的。备份你的文件,因为它们会被覆盖。
#!/bin/bash
function rewrite() {
local rfile="$1"
echo "func : $rfile"
local contents=$(< "$rfile")
cat <<< "$contents" | jq -c '.' > "$rfile"
}
while read fjson ;do
echo "$fjson"
rewrite "$fjson"
done < <(find $HOME/tmp -name '*.json')