将多个文件中的数据管道到它们的原始文件中

  • 本文关键字:文件 原始 管道 数据 bash
  • 更新时间 :
  • 英文 :


我试图从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')

相关内容

最新更新