Advertisement
dorucriv

Script clasament topuri saptamanale

Jan 30th, 2020
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.34 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # fisiere de intrare
  4. PLAYLISTURI="*-*.txt"
  5.  
  6. # fisiere de iesire
  7. FISIER_CLASAMENT="clasament.txt"
  8.  
  9. echo -n "Inlocuire \' cu '... "
  10. sed -i "s/\\\'/\'/g" $PLAYLISTURI
  11. echo "OK"
  12.  
  13. echo -n "Inlocuire 'Roak My Life' cu 'Rock My Life'... "
  14. sed -i "s/Roak My Life/Rock My Life/g" $PLAYLISTURI
  15. echo "OK"
  16.  
  17. NR_CLASAMENTE=`ls $PLAYLISTURI | wc -l`
  18. NR_PIESE=`grep -E -h "^\s+[0-9]+\.\s+" $PLAYLISTURI | cut -c 11- | sort | uniq | wc -l`
  19. echo
  20. echo "Numar de clasamente saptamanale: $NR_CLASAMENTE"
  21. echo "Numar total de piese unice: $NR_PIESE"
  22. echo
  23.  
  24. echo -n "Scriere fisier '$FISIER_CLASAMENT'... "
  25. cat <<EOT > $FISIER_CLASAMENT
  26.   # ARTIST                           TITLU                                        PUNCTAJ
  27. =========================================================================================
  28. EOT
  29. grep -E -h "^\s+[0-9]+\.\s+" $PLAYLISTURI | tr -d '\r' | sed -E "s/^\s+//; s/\.\s+/\//; s/ \/ /\//" |
  30.     awk 'BEGIN { FS=OFS=SUBSEP="/" } { h[$2, $3] += 51-$1 } END { for (i in h) print h[i], i }' |
  31.     sort -t "/" -k1nr,1 -k2 | awk -F "/" '{ printf "%3d %-32s %-48s %3d\n", NR, $2, $3, $1 }' >> $FISIER_CLASAMENT
  32. echo "OK"
  33.  
  34.  
  35. #~ Inlocuire \' cu '... OK
  36. #~ Inlocuire 'Roak My Life' cu 'Rock My Life'... OK
  37.  
  38. #~ Numar de clasamente saptamanale: 40
  39. #~ Numar total de piese unice: 217
  40.  
  41. #~ Scriere fisier 'clasament.txt'... OK
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement