-
-
Save gurgeous/be3e89de15d96e9d7b22f726422e1c7a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -euo pipefail | |
# sanity checking | |
if [[ $# -ne 1 ]] ; then | |
echo 'usage: v <file>' | |
exit 0 | |
fi | |
if ! [ -f "$1" ]; then | |
echo "file not found: '$1'" | |
exit 1 | |
fi | |
# what should we pass for bat --file-name? | |
fname="$1" | |
fname="${fname%*.gz}" | |
fname="${fname/.geojson/.json}" | |
# go | |
case "$1" in | |
# json | |
*.json | *.geojson) cat "$1" | jq . | bat --file-name "$fname" ;; | |
*.json.gz | *.geojson.gz) gzcat "$1" | jq . | bat --file-name "$fname" ;; | |
# tar | |
*.tar) tar -tvf "$1" | bat --file-name "$fname" ;; | |
*.tar.gz) tar -ztvf "$1" | bat --file-name "$fname" ;; | |
# csv | |
*.csv) cat "$1" | vd - -f csv ;; | |
*.csv.gz) gzcat "$1" | vd - -f csv ;; | |
*.xlsx) xlsx "$1" | vd - -f csv ;; | |
# fallbacks | |
*.gz) gzcat "$1" | bat --file-name "$fname" ;; | |
*.zip) unzip -v "$1" | bat --file-name "$fname" ;; | |
*) bat "$1" ;; | |
esac |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment