From 4d5a0b8f6ee6618624a83e1016e952e1474babe0 Mon Sep 17 00:00:00 2001 From: Marko Korhonen Date: Tue, 11 Jul 2023 14:23:13 +0300 Subject: [PATCH] Add chext zsh function --- home/.config/asd | 0 home/.config/zsh/04-aliases.zsh | 29 +++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 home/.config/asd diff --git a/home/.config/asd b/home/.config/asd new file mode 100644 index 00000000..e69de29b diff --git a/home/.config/zsh/04-aliases.zsh b/home/.config/zsh/04-aliases.zsh index 16d4dfe4..7ec5d723 100644 --- a/home/.config/zsh/04-aliases.zsh +++ b/home/.config/zsh/04-aliases.zsh @@ -300,3 +300,32 @@ clock() { sleep 0.1 done } + +# Change file extension made easy +chext() { + file="$1" + new_ext="$2" + dest="${file%.*}.$new_ext" + + help() { + printf "Change file extension\nUsage: chext file new_extension\nFor example: chext my_script.sh zsh" + } + + if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then + help + return + fi + + if [ $# -lt 2 ]; then + help + return 1 + fi + + if [ ! -e "$1" ]; then + echo "$file: no such file or directory" + help + return 1 + fi + + mv "$file" "$dest" +}