Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- rflag=
- eflag=
- bflag=
- sflag=
- fflag=
- while getopts "hvrsbfel:" opt
- do
- case $opt in
- h)
- echo "-e aby zmienic rozszerzenia"
- echo "-b aby zmienic litery w nazwach na duze"
- echo "-s aby zmienic litery w nazwach na male"
- echo "-f aby zmienic fragmenty nazw"
- echo "-r aby wykonac zadanie takze w podfolderach rekurencyjnie"
- echo "-v aby wyswietlic wersje"
- echo "-h aby wyswietlic pomoc"
- echo "-l lokacja wykonania zadania w danej lokacji";;
- v)
- echo "Derpy v1.0";;
- r)
- rflag=1;;
- e)
- eflag=1;;
- s)
- sflag=1;;
- b)
- bflag=1;;
- f)
- fflag=1;;
- l)
- if [ -d $OPTARG ]; then
- if [ -d "$OPTARG" ]; then
- dir=$OPTARG
- fi
- else
- echo "Nie ma takiego folderu."
- exit 0
- fi;;
- ?)
- echo "Nie ma takiej opcji. Aby wyswietlic pomoc uzyj opcji -h.";;
- esac
- done
- chext(){
- cd "$1"
- for old in *.$zjakiego; do
- dir=$old
- if [ -f "$old" ]; then
- new=${old%$zjakiego}"$najaki"
- if [ "$old" != "$new" ]; then
- mv $old $new
- fi
- fi
- done
- if [ ! -z $rflag ]; then
- for d in *; do
- if [ -d "$d" ]; then
- chext "$d"
- fi
- done
- fi
- cd ../
- }
- chname(){
- cd "$1"
- for old in *; do
- if [ -f "$old" ]; then
- bezext=`echo $old | grep -E "(\.)"`
- if [ -z $bezext ]; then
- if [ ! -z $bflag ]; then
- new="$(echo $old | tr '[:lower:]' '[:upper:]')"
- fi
- if [ ! -z $sflag ]; then
- new="$(echo $old | tr '[:upper:]' '[:lower:]')"
- fi
- else
- ext="${old##*.}"
- name="${old%.*}"
- if [ ! -z $bflag ]; then
- name="$(echo $name | tr '[:lower:]' '[:upper:]')"
- fi
- if [ ! -z $sflag ]; then
- name="$(echo $name | tr '[:upper:]' '[:lower:]')"
- fi
- new=${name}.${ext}
- fi
- if [ "$old" != "$new" ]; then
- mv "$old" "$new"
- fi
- fi
- if [ -d "$old" ] && [ ! -z $rflag ]; then
- chname "$old"
- fi
- done
- }
- chnamefrag(){
- cd "$1"
- for old in *; do
- if [ -f "$old" ]; then
- bezext=`echo $old | grep -E "(\.)"`
- if [ -z $bezext ]; then
- new=$( echo $old | sed "s/$zjakiego/$najaki/g" )
- else
- ext="${old##*.}"
- name="${old%.*}"
- name=$( echo $name | sed "s/$zjakiego/$najaki/g" )
- new=${name}.${ext}
- fi
- if [ "$old" != "$new" ]; then
- mv "$old" "$new"
- fi
- fi
- if [ -d "$old" ] && [ ! -z $rflag ]; then
- chnamefrag "$old"
- fi
- done
- }
- if [ ! -z $sflag ] && [ -z $bflag ];then
- chname "$dir"
- fi
- if [ ! -z $bflag ] && [ -z $sflag ];then
- chname "$dir"
- fi
- if [ ! -z $bflag ] && [ ! -z $sflag ];then
- echo "Opcje -s i -b nie powinny byc uzyte razem."
- fi
- if [ ! -z $eflag ]; then
- echo "Z jakiego rozszerzenia zmienic?"
- read zjakiego
- echo "Na jakie rozszerzenie zmienic?"
- read najaki
- chext "$dir"
- fi
- if [ ! -z $fflag ]; then
- echo "Jaki fragment nazwy zmienic?"
- read zjakiego
- echo "Na jaki tekst zmienic ten fragment?"
- read najaki
- chnamefrag "$dir"
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement