Advertisement
Guest User

GestioneCalciatori.sh

a guest
Oct 21st, 2019
272
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.35 KB | None | 0 0
  1. #!/bin/bash
  2. cd ~
  3. #1. Creare nella home una cartella “Esercitazione CALCIATORI 2019”
  4. cartella="Esercitazione Calciatori 2019/"
  5. mkdir -p "$cartella"
  6.  
  7. #2. Dopo aver corretto il file, copiarne il contenuto in un nuovo file lista2.txt in cui tutto è scritto in lettera Maiuscola.
  8. touch lista2.txt
  9. cat lista_calciatori.txt |tr -s '^\t' ' '| tr a-z A-Z|grep -v "^ "|grep -v '^$'|cut -d ' ' -f1-5|sort -u >lista2.txt
  10. cat lista_calciatori.txt |tr -s '^\t' ' '| tr a-z A-Z|grep "^ "|grep -v '^$'|cut -d ' ' -f2-5|sort -u >>lista2.txt
  11. #3. Tagliare il file dal desktop ed incollarlo nella cartella appena creata
  12. mv lista2.txt "$cartella"/
  13. #4. Creare una cartella e chiamarla “Ruoli”
  14. mkdir -p "Ruoli"
  15. #5. Nella cartella creare un file per ogni ruolo (Portiere, Difensore, Centrocampista, Attaccante)
  16. touch Ruoli/{Portiere.txt,Difensore.txt,Centrocampista.txt,Attaccante.txt}
  17. #6. Dopo aver ordinato il file in ordine alfabetico per “Nome calciatore”, inserire nel file “Portieri” i nomi dei portieri
  18. sort "$cartella"/lista2.txt |grep P$>Ruoli/Portiere.txt
  19. #7. Dopo aver ordinato il file in ordine alfabetico inverso per “Squadra”, inserire nel file “Difensori” i nomi dei difensori
  20. sort -k 2 -r "$cartella"/lista2.txt |grep D$>Ruoli/Difensore.txt
  21. #8. Dopo aver ordinato il file in ordine alfabetico per “Nazione”, inserire nel file “Centrocampisti” e nel file “Attaccanti” i nomi dei centrocampisti e degli attaccanti.
  22. sort -k 3 "$cartella"/lista2.txt | grep C$>Ruoli/Centrocampista.txt
  23. sort -k 3 "$cartella"/lista2.txt |grep A$>Ruoli/Attaccante.txt
  24. #9. Creare quindi una cartella “Nazione”
  25. mkdir -p "Nazione"
  26. #10. Identificare le nazionalità dei giocatori ed inserirle in un file relativo
  27.  
  28. nationNumber=$(cut -f3 -d ' ' "$cartella"/lista2.txt|sort -k1 -u|wc -l)
  29. count=1
  30. while test $count -lt $nationNumber
  31. do
  32.         actualNation=$(cut -f3 -d' ' "$cartella"/lista2.txt | sort -u | tr '\n' '\t' | cut -f$count )
  33.         count=$(expr $count + 1)
  34.  
  35.         if test -n $actualNation
  36.         then
  37.                 grep "$actualNation" "$cartella"/lista2.txt | cut -f1 -d' ' > Nazione/"$actualNation"
  38.         fi
  39. done
  40. #11. Fare lo stesso per la squadra (Creare la cartella squadra)
  41. mkdir -p "Squadra"
  42. squadNumber=$(cut -f2 -d ' ' "Esercitazione CALCIATORI 2019"/lista2.txt|sort -k1 -u|wc -l)
  43. count=1
  44. while test $count -lt $squadNumber
  45. do
  46.         actualSquad=$(cut -f2 -d' ' "$cartella"/lista2.txt | sort -u | tr '\n' '\t' | cut -f$count )
  47.         count=$(expr $count + 1)
  48.  
  49.  
  50.         if test -n $actualSquad
  51.         then
  52.                 grep "$actualSquad" "$cartella"/lista2.txt | cut -f1 -d' ' > "Squadra"/"$actualSquad"
  53.         fi
  54. done
  55. #10. Creare una cartella “MODULI”
  56. mkdir -p MODULI
  57. #11. All’interno della cartella creare un file 433.txt
  58. touch MODULI/433.txt
  59. #12. Dopo aver verificato che in ogni lista non ci sono doppioni: Inserire nel file
  60. #il primo portiere della lista “portieri”
  61. head -n 1 Ruoli/Portiere.txt > "MODULI/433.txt"
  62. #Il secondo, terzo quarto e sesto difensore della lista “difensori”
  63. head -n 4 Ruoli/Difensore.txt | tail -n 3 >> "MODULI/433.txt"
  64. head -n 6  Ruoli/Difensore.txt | tail -n 1 >> "MODULI/433.txt"
  65. #Il terzo, quarto e quinto centrocampista...
  66. head -n 5 Ruoli/Centrocampista.txt | tail -n 3 >> "MODULI/433.txt"
  67. #Il primo, secondo e terzo attaccante.
  68. head -n 3 Ruoli/Attaccante.txt >> "MODULI/433.txt"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement