Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2020
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.12 KB | None | 0 0
  1.  
  2.  
  3. #!/bin/bash
  4.  
  5. #######################################################################################
  6. #Script Name         :bigscript.sh
  7. #Description         :Script to modify the names of the mp3 files
  8. #Author              :Zuzanna Potrzebska
  9. #Email               :zuzia__124@wp.pl
  10. #License             :GPL
  11. #######################################################################################
  12. OPTION=0
  13. HEADER=""
  14. TITLE=""
  15. ARTIST=""
  16. ALBUM=""
  17. YEAR=""
  18. GENRE=""
  19.  
  20.  
  21. function main{
  22.  
  23.     echo "Hello, it’s an mp3 tag editor."
  24.     echo "You can edit here all the names of mp3 files of the chosen directory."
  25.     echo -e -n "Write a path to your files (default: 'pwd'):"
  26.     read PATH
  27.     #echo "Here are all files with mp3 extension from your directory:"
  28.     #echo
  29.     #find $PATH type -f "*mp3"
  30.  
  31.  
  32.     echo "What tags do you need in your file name? Select Yes/No." #wybór tagów, które mają znaleźć się w nowej nazwie pliku
  33.     echo "1 - Header"
  34.         select yn in "Yes" "No"; do
  35.             case $yn in
  36.             Yes ) AHEADER="yes";;
  37.             No ) AHEADER="";;
  38.             * ) echo "Please answer yes or no";;
  39.             esac
  40.             done;;
  41.  
  42.     echo "2 - Title"
  43.         select yn in "Yes" "No"; do
  44.             case $yn in
  45.             Yes ) ATITLE="yes";;
  46.             No ) ATITLE="";;
  47.             * ) echo "Please answer yes or no";;
  48.             esac
  49.             done;;
  50.  
  51.     echo "3 - Artist" $ARTIST
  52.         select yn in "Yes" "No"; do
  53.             case $yn in
  54.             Yes ) AARTIST="yes";;
  55.             No ) AARTIST="";;
  56.             * ) echo "Please answer yes or no";;
  57.             esac
  58.             done;;
  59.  
  60.     echo "4 - Album" $ALBUM
  61.         select yn in "Yes" "No"; do
  62.             case $yn in
  63.             Yes ) AALBUM="yes";;
  64.             No ) AALBUM="";;
  65.             * ) echo "Please answer yes or no";;
  66.             esac
  67.             done;;
  68.  
  69.     echo "5 - Year of release" $YEAR
  70.         select yn in "Yes" "No"; do
  71.             case $yn in
  72.             Yes ) AYEAR="yes";;
  73.             No ) AYEAR="";;
  74.             * ) echo "Please answer yes or no";;
  75.             esac
  76.             done;;
  77.  
  78.     echo "6 - Genre" $GENRE
  79.         select yn in "Yes" "No"; do
  80.             case $yn in
  81.             Yes ) AGENRE="yes";;
  82.             No ) AGENRE="";;
  83.             * ) echo "Please answer yes or no";;
  84.             esac
  85.             done;;
  86.  
  87.     shopt -s nullglob
  88.     for F in $PATH *.mp3; #pobranie kolejnych zaznaczonych wcześniej tagów
  89.     do
  90.         if [ -n "$AHEADER" ];
  91.             then HEADER=$(easytag --show-tags header $F);
  92.         fi
  93.         if [ -n "$ATITLE" ];
  94.             then TITLE=$(easytag --show-tags title $F);
  95.         fi
  96.         if [ -n "$AARTIST" ];
  97.             then ARTIST=$(easytag --show-tags artist $F);
  98.         fi
  99.         if [ -n "$AALBUM" ];
  100.             then ALBUM=$(easytag --show-tags album $F);
  101.         fi
  102.         if [ -n "$AYEAR" ];
  103.             then YEAR=$(easytag --show-tags year $F);
  104.         fi
  105.         if [ -n "$AGENRE" ];
  106.             then GENRE=$(easytag --show-tags genre $F);
  107.         fi
  108.  
  109.         chmod 777 $F #dodanie dostępu w celu zmienienia nazwy
  110.         NEWNAME=$($HEADER"-"$TITLE"-"$ARTIST"-"$ALBUM"-"$YEAR"-"$GENRE) #określenie, co będzie się w nazwie znajdować
  111.         mv F $NEWNAME #ponowne nazwanie
  112.         echo $NEWNAME
  113.     done
  114. }
  115.  
  116. while getopts ":hv" opt; do
  117.     case ${opt} in
  118.         h ) echo "help - First choose the path which in you want to change the names of the mp3 files; leter choose tags.";;
  119.         v ) echo "version - 1.0 by Zuzanna Potrzebska";;
  120.         \? ) echo "Invalid code - choose h, v or nothing";;
  121.     esac
  122. done
  123. main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement