.dotfiles/zsh/scripts

96 lines
2.6 KiB
Plaintext
Raw Normal View History

2022-02-10 20:11:56 +01:00
#--------------------------------
# filename: /zsh/scripts
#--------------------------------
# Search for string in all files in pwd
function f() {
grep -rnw ./ -e "$1"
}
# mkdir and cd
function mkcd() {
2022-11-13 19:19:00 +01:00
mkdir -p "$@" && cd "$_" || exit;
2022-02-10 20:11:56 +01:00
}
# "Fake" sha256sum
2022-11-13 19:19:00 +01:00
if [[ ! -x $(which sha256sum) ]]; then
function sha256sum() {
2022-11-13 19:19:00 +01:00
shasum -a256 "$1"
}
fi
2022-10-11 13:42:09 +02:00
# Tar.gz with GZIP or PIGZ
function targz() {
if [ -z "$1" ]; then
echo "usage: targz filename.tar.gz directory"
return
fi
2022-11-13 19:19:00 +01:00
if [[ ! -x $(which pigz) ]]; then
tar -czf "$1" "$2"
2022-10-11 13:42:09 +02:00
echo "gzip"
else
2022-11-13 19:19:00 +01:00
tar -c "$2" | pigz > "$1"
2022-10-11 13:42:09 +02:00
echo "pigz"
fi
}
2022-02-10 20:11:56 +01:00
# pushover notification
function pushover() {
curl -s \
--form-string "token=$pushover_token" \
--form-string "user=$pushover_user" \
--form-string "title=$HOST" \
--form-string "message=$1" \
https://api.pushover.net/1/messages.json
}
# png to jpg 85
function png2web() {
findpath=$1
2022-11-13 19:19:00 +01:00
: "${findpath:="."}"
find "$findpath" -name '*.png' | while read -r f ; do
2022-02-10 20:11:56 +01:00
dir=$(dirname "$f");
file=$(basename "$f");
name="${file%.*}";
magick convert "$f" pnm:- | cjpeg -progressive -quality 85 > "$dir/$name.jpg" </dev/null
rm -f "$f";
done
}
2022-02-10 21:29:04 +01:00
function jpeg1024() {
2022-11-13 19:19:00 +01:00
magick "$1" -resize '1024x1024\>' -background black -flatten TGA:- | cjpeg -targo -quality 75 -optimize -progressive -outfile "$1".jpg
2022-02-14 00:00:11 +01:00
}
2022-04-19 17:48:35 +02:00
# Make PDFs look like scanned
# src: https://gist.github.com/andyrbell/25c8632e15d17c83a54602f6acde2724?permalink_comment_id=3295405#gistcomment-3295405
function pdf-like-scanned () {
OUT=$(basename "$1" .pdf)
convert -density 150 "$1" -rotate "$([ $((RANDOM % 2)) -eq 1 ] && echo -)0.$(($RANDOM % 4 + 5))" \
-attenuate 0.4 +noise Multiplicative -attenuate 0.03 +noise Multiplicative -sharpen 0x1.0 \
-colorspace Gray "$OUT"_scanned.pdf
}
2022-06-27 22:00:43 +02:00
# Extract files
# src: https://github.com/mawalu/dotfiles/blob/master/zsh/.zsh/functions.zsh#L21
function extract () {
2022-11-13 19:19:00 +01:00
if [ -f "$1" ] ; then
2022-06-27 22:00:43 +02:00
case $1 in
2022-11-13 19:19:00 +01:00
*.tar.bz2) tar xjf "$1" ;;
*.tar.gz) tar xzf "$1" ;;
*.bz2) bunzip2 "$1" ;;
*.rar) unrar x "$1" ;;
*.gz) gunzip "$1" ;;
*.tar) tar xf "$1" ;;
*.tbz2) tar xjf "$1" ;;
*.tbz) tar xjf "$1" ;;
*.tgz) tar xzf "$1" ;;
*.zip) unzip "$1" ;;
*.Z) uncompress "$1" ;;
*.7z) 7z x "$1" ;;
*) echo "'$1' cannot be extracted via extract()" ;;
2022-06-27 22:00:43 +02:00
esac
else
echo "'$1' is not a valid file"
fi
}