{
  "name": "shred",
  "description": "Overwrite a file to hide its contents, and optionally delete it",
  "options": [
    {
      "names": [
        "--force",
        "-f"
      ],
      "description": "Change permissions to allow writing if necessary"
    },
    {
      "names": [
        "--iterations",
        "-n"
      ],
      "description": "Overwrite N times instead of the default (3)",
      "args": [
        {
          "name": "N",
          "suggestions": [
            "3",
            "5",
            "7"
          ]
        }
      ]
    },
    {
      "names": [
        "--random-source"
      ],
      "description": "Get random bytes from FILE",
      "args": [
        {
          "name": "FILE",
          "template": "filepaths",
          "suggestions": [
            "/dev/urandom",
            "/dev/random"
          ]
        }
      ]
    },
    {
      "names": [
        "--size",
        "-s"
      ],
      "description": "Shred this many bytes (suffixes like K, M, G accepted)",
      "args": [
        {
          "name": "N",
          "suggestions": [
            "1K",
            "1M",
            "1G"
          ]
        }
      ]
    },
    {
      "names": [
        "--remove"
      ],
      "description": "Like -u but give control on HOW to delete",
      "args": [
        {
          "name": "HOW",
          "description": "'unlink' => use a standard unlink call, 'wipe' => also first obfuscate bytes in the name, 'wipesync' => also sync each obfuscated byte to the device",
          "suggestions": [
            "unlink",
            "wipe",
            "wipesync"
          ]
        }
      ]
    },
    {
      "names": [
        "--verbose",
        "-v"
      ],
      "description": "Show progress"
    },
    {
      "names": [
        "--exact",
        "-x"
      ],
      "description": "Do not round file sizes up to the next full block; this is the default for non-regular files"
    },
    {
      "names": [
        "--zero",
        "-z"
      ],
      "description": "Add a final overwrite with zeros to hide shredding"
    },
    {
      "names": [
        "--help"
      ],
      "description": "Display this help and exit"
    },
    {
      "names": [
        "--version"
      ],
      "description": "Output version information and exit"
    }
  ],
  "args": [
    {
      "name": "FILE",
      "description": "File(s) to shred",
      "isVariadic": true,
      "template": "filepaths"
    }
  ]
}
