You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过终端批量缩进当前目录下的JSON文件?

当然有啦!给你分享几个实用的终端方法,不管是用系统自带的Python工具,还是专门的JSON处理命令行工具,都能快速搞定指定JSON文件的缩进格式化,效果和你说的Sublime里的"Pretty JSON"插件一模一样~

方法一:用Python脚本(无需额外安装依赖)

Python自带的json.tool模块就是个现成的JSON格式化工具,不用额外装包,几乎所有系统都自带Python环境,非常方便。

  • 处理单个文件:
    如果不想覆盖原文件,可以输出到新文件:

    python -m json.tool input.json > formatted_input.json
    

    要是想直接原地修改原文件,可以借助临时文件过渡(避免意外损坏原文件):

    python -m json.tool input.json > temp.json && mv temp.json input.json
    
  • 批量处理指定的JSON文件:
    比如你要处理当前目录下的data1.json、config.json、settings.json这几个文件,可以写个简单的循环:

    for file in data1.json config.json settings.json; do
        python -m json.tool "$file" > temp.json && mv temp.json "$file"
        # 可选:给原文件做个备份
        # cp "$file" "$file.bak"
    done
    
方法二:用jq命令行工具(更高效的专业工具)

jq是专门为JSON处理设计的命令行工具,处理速度更快,功能也更丰富,唯一需要先安装一下:

  • Ubuntu/Debian:sudo apt install jq

  • macOS:brew install jq

  • 处理单个文件:
    同样,输出到新文件:

    jq . input.json > formatted_input.json
    

    原地修改的话,如果你安装了moreutils工具包(里面的sponge可以避免临时文件的麻烦):

    jq . input.json | sponge input.json
    

    没装sponge的话还是用临时文件过渡:

    jq . input.json > temp.json && mv temp.json input.json
    
  • 批量处理指定文件:
    同样用循环搞定指定的一组文件:

    for file in data1.json config.json settings.json; do
        jq . "$file" > temp.json && mv temp.json "$file"
        # 可选备份:cp "$file" "$file.bak"
    done
    
方法三:写一个可复用的Shell脚本

如果你经常需要做这个操作,可以把逻辑写成一个脚本,方便重复使用:

  1. 创建一个名为pretty-json.sh的文件,内容如下:
    #!/bin/bash
    
    # 检查是否传入了文件参数
    if [ $# -eq 0 ]; then
        echo "用法:$0 <json文件1> <json文件2> ..."
        exit 1
    fi
    
    # 遍历传入的所有文件
    for file in "$@"; do
        if [ -f "$file" ]; then
            # 用jq格式化(如果想用Python就换成python -m json.tool "$file" > temp.json)
            jq . "$file" > temp.json && mv temp.json "$file"
            echo "已格式化:$file"
            # 可选备份:cp "$file" "$file.bak"
        else
            echo "警告:文件 $file 不存在,跳过"
        fi
    done
    
  2. 给脚本赋予执行权限:
    chmod +x pretty-json.sh
    
  3. 使用的时候直接指定要处理的文件:
    ./pretty-json.sh data1.json config.json settings.json
    

这些方法都能快速帮你完成JSON文件的缩进格式化,根据你的环境和需求选就行~

内容的提问来源于stack exchange,提问作者Filipe Freire

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:37:57