====== Bash Scripts ======
===== Extracting compressed files =====
Taken from a [[https://www.reddit.com/r/commandline/comments/p5ibiz/i_keep_forgetting_how_to_extract_tar_or_7z/|reddit post]] on [[https://www.reddit.com/r/commandline/|r/commandline]]:
#!/bin/sh
export XZ_OPT=-T4
if [ -z "$1" ]; then
echo "Usage: extract filename"
echo "Extract a given file based on the extension."
exit 1
elif [ ! -f "$1" ]; then
echo "Error: '$1' is not a valid file for extraction"
exit 1
fi
case "$1" in
*.tbz2 | *.tar.bz2) tar -xvjf "$1" ;;
*.txz | *.tar.xz) tar -xvJf "$1" ;;
*.tgz | *.tar.gz) tar -xvzf "$1" ;;
*.tar | *.cbt) tar -xvf "$1" ;;
*.tar.zst) tar -xvf "$1" ;;
*.zip | *.cbz) unzip "$1" ;;
*.rar | *.cbr) unrar x "$1" ;;
*.arj) unarj x "$1" ;;
*.ace) unace x "$1" ;;
*.bz2) bunzip2 "$1" ;;
*.xz) unxz "$1" ;;
*.gz) gunzip "$1" ;;
*.7z) 7z x "$1" ;;
*.Z) uncompress "$1" ;;
*.gpg) gpg -d "$1" | tar -xvzf - ;;
*) echo "Error: failed to extract '$1'" ;;
esac
#!/bin/sh
case $1 in
txz) tar cJvf "$2.tar.xz" "$2" ;;
tbz) tar cjvf "$2.tar.bz2" "$2" ;;
tgz) tar czvf "$2.tar.gz" "$2" ;;
tar) tar cpvf "$2.tar" "$2" ;;
bz2) bzip2 "$2" ;;
gz) gzip -c -9 -n "$2" > "$2.gz" ;;
zip) zip -r "$2.zip" "$2" ;;
7z) 7z a "$2.7z" "$2" ;;
*) echo "'$1' cannot be packed via pk()" ;;
esac
===== Spell checking a website =====
This was by request. A user had a website and wanted to run spell check on it. This is simple, just run:
aspell -H -c filename.php
The ''-c'' asks aspell to check, and the ''-H'' prepares it for HTML (it skips class names and php tags etc).
aspell only takes one filename at a time, but you can run through each file in a loop using:
for i in *.php; do aspell -c $i; done