User Tools

Site Tools


school:uso:labs:shell_scripting_2

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
school:uso:labs:shell_scripting_2 [2009/08/09 18:32]
razvan
school:uso:labs:shell_scripting_2 [2009/08/09 19:18]
razvan
Line 330: Line 330:
  
 {{{ {{{
-cat lista.txt | awk -F '[ \t]+' "{ print "prenume:", $1, "nume:", $2; }" +cat lista.txt | awk -F '[ \t]+' '{ print "nume:", $1, "prenume", $2; }' 
-cat /etc/passwd | awk -F ':' "{ print "nume: $1", "home:", $6; }"+cat /etc/passwd | awk -F ':' '{ print "nume:", $1, "home:", $6; }'
 }}} }}}
  
Line 343: Line 343:
 ==== Enunț ==== ==== Enunț ====
  
-* Fișierul ''mail.txt'' conține mesaje trimise de un utilizator. Creați un script ''dest_sort.sh'' care sortează mesajele trimise de un utilizator după destinatari; se vor afișa adresa de e-mail a destinatarului și numărul de mesaje transmise de acesta.+* Fișierul ''sent_mail.txt'' conține mesaje trimise de un utilizator. Creați un script ''dest_sort.sh'' care sortează mesajele trimise de un utilizator după destinatari; se vor afișa adresa de e-mail a destinatarului și numărul de mesaje transmise de acesta.
  
 ==== Pași ajutători ==== ==== Pași ajutători ====
  
-* Creați scriptul ''dest_sort.sh'' și folosiți ''grep'' pentru a extrage din fișierul ''mail.txt'' liniile care specifică destinatarul (liniile care încep cu ''To:''). +* Creați scriptul ''dest_sort.sh'' și folosiți ''grep'' pentru a extrage din fișierul ''sent_mail.txt'' liniile care specifică destinatarul (liniile care încep cu ''To:''). 
-* Folosiți înlănțuirea comenzilor (''|'') și ''awk'' pentru a extrage **doar** adresa de e-mail a destinatarului.+* Folosiți înlănțuirea comenzilor (''|'') și ''awk'' pentru a extrage **doar** adresa de e-mail a primului destinatar. (Hint: folosiți ''<'' și ''>'' ca separatori; vor exista excepții dar sunt tolerabile) 
 +* Folosiți înlănțuirea comenzilor și ''grep'' pentru a elimina liniile albe (liniile care conțin doar spații sau caractere TAB sau care nu conțin nimic).
 * Folosiți înlănțuirea comenzilor (''|'') și ''sort'' pentru a sorta adresele de e-mail ale destinatarilor. * Folosiți înlănțuirea comenzilor (''|'') și ''sort'' pentru a sorta adresele de e-mail ale destinatarilor.
 * Folosiți înlănțuirea comenzilor (''|'') și ''uniq'' pentru a "uniciza" adresele de e-mail ale destinatarilor cu afișarea numărului de apariții ale acestora. (Hint: ''-c'') * Folosiți înlănțuirea comenzilor (''|'') și ''uniq'' pentru a "uniciza" adresele de e-mail ale destinatarilor cu afișarea numărului de apariții ale acestora. (Hint: ''-c'')
Line 360: Line 361:
 ==== Enunț ==== ==== Enunț ====
  
-* Fișierul ''mail.txt'' conține mesaje trimise de un utilizator. Creați un script ''dest_sort.sh'' care script care sortează mesajele trimise de un utilizator în funcție de data la care au fost transmise; se vor afișa data de transmitere a mesajului și numărul de mesaje transmise la acea dată.+* Fișierul ''sent_mail.txt'' conține mesaje trimise de un utilizator. Creați un script ''dest_sort.sh'' care script care sortează mesajele trimise de un utilizator în funcție de data la care au fost transmise; se vor afișa data de transmitere a mesajului și numărul de mesaje transmise la acea dată.
  
 ==== Pași ajutători ==== ==== Pași ajutători ====
  
-* Creați scriptul ''date_sort.sh'' și folosiți ''grep'' pentru a extrage din fișierul ''mail.txt'' liniile care specifică data (liniile care încep cu ''Date:'').+* Creați scriptul ''date_sort.sh'' și folosiți ''grep'' pentru a extrage din fișierul ''sent_mail.txt'' liniile care specifică data (liniile care încep cu ''Date:'').
 * Folosiți înlănțuirea comenzilor (''|'') și ''awk'' pentru a extrage **doar** data de transmitere a mesajului. * Folosiți înlănțuirea comenzilor (''|'') și ''awk'' pentru a extrage **doar** data de transmitere a mesajului.
 * Folosiți înlănțuirea comenzilor (''|'') și ''sort'' pentru a sorta datele mesajelor. * Folosiți înlănțuirea comenzilor (''|'') și ''sort'' pentru a sorta datele mesajelor.
school/uso/labs/shell_scripting_2.txt · Last modified: 2020/07/20 09:16 (external edit)