I’m updating foundry to a version 11 and it broke an ass ton of my assets cause they’re all “verified version 10”

So all I have to do is change that number, they’re just maps so no need to update anything else, but I have like 400+ files to convert all in individual folders.

Please tell me there’s an easy way to do this. (I’m on Linux obviously)

  • Kangie@lemmy.srcfiles.zip
    link
    fedilink
    arrow-up
    32
    ·
    edit-2
    10 months ago
    for file in $(find . -type f -iname '*.json'); do
      sed -i 's/"verified":"10"/"verified":"11"/' $file;
    done
    
    • duncesplayed@lemmy.one
      link
      fedilink
      arrow-up
      26
      ·
      10 months ago

      Find can actually do the sed itself if you don’t want to use a subshell and a shell loop.

      find . -type f -iname '*.json' -exec sed -i 's/"verified":"10"/"verified":"11"/' '{}' ';'
      
      • wewbull@feddit.uk
        link
        fedilink
        English
        arrow-up
        8
        ·
        10 months ago

        -print0 | xargs -0 sed -i to get a single sed process working across multiple files.

        Add a -P 8 to xargs to get 8 parallel processes.

      • brain_in_a_jar@kbin.social
        link
        fedilink
        arrow-up
        7
        ·
        10 months ago

        Change the ‘;’ to a ‘+’ for even more efficiency (no need to fork+exec a sed process per file, sed can take multiple files)

    • vipaal
      link
      fedilink
      arrow-up
      9
      ·
      10 months ago

      +1

      And

      In the off chance the files are not under git or some other VCS, might be a good idea to add the -b option to backup