Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Skrypt zamiany rozszerzenia
#!/bin/bash
ile=0
znaki=0
zero=0
red='\e[31m'
green='\e[32m'
yellow='\e[33m'
blue='\e[34m'
white='\e[37m'
end='\e[0m'
ls > przed
echo -e "${red}Uruchomiles skrypt zamiany rozszerzenia plikow${end}"
echo "Podaj rozszerzenie jakie chcesz zamienic: (np. htm)"
echo -e "${green}1:html${end} ; ${red}2:htm${end} ; ${blue}3:php${end} ; ${yellow}4:txt${end} ; ${white}5:c${end} ; ${red}6:cpp${end} ; LUB wpisz swoje"
read roz1
case $roz1 in
1) roz1="html";;
2) roz1="htm";;
3) roz1="php";;
4) roz1="txt";;
5) roz1="c";;
6) roz1="cpp";;
*) echo "Twoje zdefiniowane rozszerzenie to $roz1"
szukaj=["*."$roz1]
;;
esac
echo "Podaj rozszerzenie na jakie chcesz zamienic: (np. html)"
echo -e "${green}1:html${end} ; ${red}2:htm${end} ; ${blue}3:php${end} ; ${yellow}4:txt${end} ; ${white}5:c${end} ; ${red}6:cpp${end} ; LUB wpisz swoje"
read roz2
case $roz2 in
1) roz2="html";;
2) roz2="htm";;
3) roz2="php";;
4) roz2="txt";;
5) roz2="c";;
6) roz2="cpp";;
*) echo "Twoje zdefiniowane rozszerzenie to $roz2";;
esac
echo "Jaki znak chcesz usunac: (1-nic , 2-spacja, 3-_)"
read znak1
case $znak1 in
1) znak1="";;
2) znak1=" ";;
3) znak1="_";;
*) echo "zly znak";;
esac
echo "Na jaki znak chesz zmienic: (1-nic , 2-spacja, 3-_)"
read znak2
case $znak2 in
1) znak2="";;
2) znak2=" ";;
3) znak2="_";;
*) echo "zly znak";;
esac
for filename in *.$roz1 # przejrzyj pliki z roz1
do
fname=$filename
a=`echo $fname | sed "s/$roz1/$roz2/g"` # podstawiamy
mv "$fname" "$a" | head -0 # zmieniamy nazwę pliku
ile=$[ile+1]
echo "$a" | grep -q "$znak1" # sprawdź czy nazwa pliku
if [ $? -eq $zero ] # zawiera znak1
then
fname2=$a
# zamiana ze wzgledu na znak
n=`echo $fname2 | sed -e "s/$znak1/$znak2/g"`
mv "$fname2" "$n" | head -0
znaki=$[znaki+1] # zmieniamy nazwę pliku
fi
done
echo " "
echo " "
echo -e "${green} STATYSTYKA ZMIAN ${end}"
echo -e "zmieniono ${yellow} $ile ${end} plików z rozszerzenia ${green} $roz1 ${end} na ${blue} $roz2 ${end}"
echo " "
echo -e "zamienono ${yellow} $znaki ${end} znaków ${green} '$znak1' ${end} na ${blue} '$znak2' ${end} "
echo " "
ls > po
diff przed po > zmieniono
echo -e "${red} Co mam wyświetlić ?${end} [${yellow}1:przed${end} ; ${blue}2:po${end} ; ${green} 3:co zmieniono${end}]"
read zmiany
case $zmiany in
1) cat < przed;;
2) cat < po;;
3) cat < zmieniono;;
*)
echo -e "${yellow} Wyświetlam wartość default, bo nie umiesz czytać menu ${end}"
cat < zmieniono
;;
esac
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.