La differenza principale con uno script di shell in perl è che l'interprete del perl analizza completamente il programma prima di eseguirlo.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "La differenza principale con uno script di shell in perl è che l'interprete del perl analizza completamente il programma prima di eseguirlo."

Transcript

1 Il perl è un linguaggio di scripting nato per l'elaborazione di grandi quantità di testo ma poi evolu tosi ulteriormente: l'origine del suo nome sta infatti per Practical Extraction and Report Language. La differenza principale con uno script di shell in perl è che l'interprete del perl analizza completamente il programma prima di eseguirlo. - Filehandle del Perl Come ogni processo UNIX, anche il perl possiede i tre filehandle (STDOUT, STDERR, STDIN). Alcuni comandi come print utilizzano di default il terminale come standard output: print Scrivo sul terminale n ;# è analogo a: print STDOUT Scrivo sul terminalen ;# possiamo anche prelevare l'output di STDIN e metterlo su STDOUT while (<STDIN>){print STDOUT;}# ogni cosa che scrivo con la tastiera viene messa su schermo 1 / 16

2 L'operatore < > ossia maggiore-minore (o NULL) consente di trarre l'input da STDIN o da un file sulla linea di comando. while (<>){print;} # è una specie di cat CREAZIONE DI UN FILEHANDLE: Supponiamo che la variabile filename contenga il percorso di un file: open (FILE,$filename); die non posso aprire $filename ;# se esiste $filename apre il filehandle FILE Di default open apre un file in sola lettura (<), ma è possibile aprirlo in scrittura (>), lettura e scrittura (+>), accodamento (>>). 2 / 16

3 open (FILE, > $filename ); die non posso aprire $filename ; # lo apre in scrittura... # è possibile aprire un filehandle pipe di input o output# se nella shell si usava ls wc-l per contare i file in perl: open (INP, ls );while (<INP>) {++$files;}print ci sono $files nella directoryn # per ls wc mail $adress vediamo un altro esempio open (INP, ls );open (OUT, mail $adress )while (<INP>) {++$files;}print OUT ci sono $files nella directoryn - Variabili del Perl 3 / 16

4 VARIABILI SCALARI Come si è già potuto notare, le variabili scalari sono precedute dal simbolo del dollaro $. Esse assumono il significato di stringhe o valori numerici a seconda del contesto in cui appaiono. print Scrivi una variabile ;$var= <STDIN>chop $var;print la tua variabile è $varn ; La funzione chop taglia l'ultimo carattere di una stringa per eliminare il riorno a carrello (l'invio.. altrimenti sarebbe andato a capo da solo senza n..). Da notare che chop, se non viene specificato nessun argomento, opera su $_. La variabile $_ entra in gioco molto spesso, a volte senza che il programmatore se ne occupi: infatti è usata come variabile di default in moltissimi comandi (ad esempio in chop, con l'operatore diamante, con print etc..) ARRAY 4 / 16

5 Gli array vengono preceduti dal # definire un vettore anche con variabili miste è = (1,4.5, marco, ciao,$var)# anche richiamarlo è molto semplice: print ecco il vettore n print ecco il terzo elemento: $vettore[2] n # e per sapere il numero di elementi che lo compongono: print è composto da $#vettore elementinprint ed il minimo indice è $[vettore Per richiamare una componente del vettore si usa il simbolo dollaro essendo essa una scalare... Un array molto importante esso contiene i parametri digitati sulla linea di comando. NOTA: USO DI FOREACH: L'istruzione foreach viene utilizzata per scorrere un array ed assegnarne ad una variabile i diversi elementi, uno dopo l'altro: 5 / 16

6 foreach $var (0.. $#ARGV){print l' elemento $var è $ARGV[$var]n ; } # la variabile $var assume valori da zero al numero di elementi # dell' array.l'array in questione Riscriviamo questo esempio usando una delle funzioni della variabile $_: foreach(0.. $#ARGV){print l' elemento $var è $ARGV[$_]n ; } # non serve più la $var poiché di default $_ prende il suo posto OPERAZIONI CON GLI ARRAY 6 / 16

7 L'operatore shift elimina il primo elemento dell' array e quindi sposta verso sinistra tutto il suo contenuto restituendo l'elemento eliminato. Unshift aggiunge uno o più elementi all'inizio dell'array e restituisce il numero di elementi = (1,4.5, marco, ciao,100) $memo = shift (@vettore) # =(4.5, marco, ciao,100) e $memo=1 $memo2 = unshift (@vettore, agg ) # =(agg,4.5, marco, ciao,100) e $memo2=5 Gli analoghi operatori pop e push si occupano degli spostamenti verso destra degli = (1,4.5, marco, ciao,100)$memo = push (@vettore, bello, brutto ) # =(4.5, marco, ciao,100,bello,brutto) e $memo=6 $memo2 = pop(@vettore) # =(4.5, marco, ciao,100,bello) e $memo2=brutto 7 / 16

8 Accenniamo anche agli operatori sort e reverse che si occupano di ordinare secondo la tabella ASCII i = (50,12,4,23,44,33,456);@ordinati=sort ; #Attenzione il nuovo ordine non è numerico:( ) Il comando split suddivide una stringa in base ad un dato modello, mentre join concatena una serie di = split (/:/,$linea) # se $linea è una linea del file passwd, tramite questo comando # creiamo un array contenente i vari record # per ricostruire tali record basta usare join: $line = join (':',@campi) L'operatore grep del perl è simile a quello di shell,ma può compiere azioni aggiuntive ed usare i test sui file: 8 / 16

9 @vettore = (1,4.5, marco, ciao,100);@num = grep(/[0-9]/,@vettore); diventerà (1,4.5,100)# ma grep può anche compiere delle operazioni = grep (($_ *= 2),@num); # che diventa (2,9,200) Il comando splice ( ) viene utilizzato per la manipolazione degli array, esso ha una sintassi del tipo: splice (LIST, OFFSET,LENGHT,LIST) Prende come argomento dall'elenco LIST, e restituisce gli argomenti rimossi; lenght indica su quanti valori agire a partire dall'offset: questi possono essere = (4.5, marco, ciao,100)splice (@array,0,0, agg1 ) # è analogo a $memo2 = unshift (@vettore, agg = ( uno, due, otto, sette, cinque )@vecchi = splice (@vett,2,2, tre, quattro ); # abbiamo sostituito otto e sette con tre e quattro 9 / 16

10 # si noti che si conta gli offset da zero;# per ricostruire il vettore originale: splice HASH o ARRAY ASSOCIATIVI Un array associativo utilizza una stringa precedentemente definita (chiave) per la sua ricerca. In perl si indica con il simbolo percentuale (%): %auto = ('marca','modello','porte','colore'); # se volessimo assegnargli un valore: $auto{'marca'} = 'fiat';# o tutti i valori in una volta si usa la virgola o =>: %auto = ('marca'=> fiat,'modello'=>punto,'porte'=>3,'colore'=>blu)print la marca dell'auto è $auto{'marca'}n ; 10 / 16

11 L'operatore keys produce un elenco delle chiavi ossia serve a stampare ogni chiave dell'array associativo e può essere ad esempio sfruttato cosi': foreach $var (keys(%auto)){print la chiave $var è $auto{$var} ;} # l'ordine di output di keys è imprevedibile e disordinato... L'operatore affine values restituisce ovviamentr tutti i valori del vettore...mentre each ritorna la coppia chiave-dato. Il seguente è uno script che rende evidente la comodità dell'uso degli hash: while ( <> ) { # prende in ingresso e mette in (/s/, $_); # array linea composto da parole foreach $parola (@linea){ # per ogni parola incrementa $parole++; #i due contatori $conta{$parola}++;}}foreach $parola (sort keys(%conta)) { # riordina.. print $conta{$parola} $parolan ; #..e stampa tutto} 11 / 16

12 print In totale trovate $parole parolenn ; VARIABILI PREDEFINITE Come gli script di shell, anche perl possiede delle utilissime variabili predefinite: $$ PID del programma 12 / 16

13 $< UID reale dell'utente $> UID effettivo dell'utente $? stato dell'ultima chiamata $_ argomento predefinito $0 nome del programma $ separatore di lista $/ separatore di righe per l'imput - Operatori di corrispondenza modelli Perl ha riunito, migliorato e semplificato le stesse funzioni delle utility di shell (sed,grep,awk) e le espressioni regolari che utilizza sono pressoche analoghe. $pattern = (<>) { 13 / 16

14 print if (/$pattern/); # sottointeso if $_... } E' evidente che questo script è una specie di grep. Il primo parametro di ingresso è l'espressione regolare, quelli seguenti sono i file da analizzare riga per riga. Assieme al modello /espressione/ si usa l'operatore di corrispondenza =~ ogni volta che si desidera verificare la presenza di un modello in una variabile diversa da da $_. print nome? ;chop ($name =<STDIN>) #tutto in uno... è molto più elegante... if ($name =~ /marco$/i) blablabla# notiamo l'uso di //i ossia ignora maiuscolo-minuscolo # ed il simbolo $ ossia ancora la parola a fine riga# ma queste fanno parte delle espressioni regolari che vedremo.. - Operatori per stringhe 14 / 16

15 L'operatore punto '. ' serve a concatenare due stringhe mentre l'operatore ' x ' ha la funzione di ripetere delle stringhe, per esempio: $nomeintero=$nome..$cognome;$print ciao x 100;#stampa cento volte la stringa ciao Ricordiamo velocemente anche i seguenti semplici operatori: lenght: misura la lunghezza di una stringa reverse: inverte una stringa index, rindex: trovano la posizione della prima e dell'ultima occorrenza. $frase= la posizione delle parole è una posizione $pos1=index($frase, posizione ); $pos2=rindex($frase, posizione ); #quindi pos1=3 e pos2=33 15 / 16

16 L' operatore substr puo' sia estrarre che inserire stringhe ed ha la seguente forma: substr (ESPR, OFFSET, [LUNGHEZZA]) 16 / 16

L ambiente UNIX/Linux. I filtri Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

L ambiente UNIX/Linux. I filtri Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino L ambiente UNIX/Linux I filtri Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Filtri In UNIX/Linux un filtro è un comando che Riceve il proprio input da standard input Lo

Dettagli

Gestione avanzata dei file

Gestione avanzata dei file Gestione avanzata dei file Espressioni jolly * qualunque insieme di caratteri? un solo carattere qualunque ^ nega l'espressione seguente [ ] carattere singolo in un range di caratteri possibili [a-c] le

Dettagli

L utility Unix awk [Aho-Weinberger-Kernighan]

L utility Unix awk [Aho-Weinberger-Kernighan] L utility Unix awk [Aho-Weinberger-Kernighan] L utility awk serve per processare file di testo secondo un programma specificato dall utente. L utility awk legge riga per riga i file ed esegue una o più

Dettagli

Shell: variabili di sistema. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set

Shell: variabili di sistema. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set PATH Shell: variabili di sistema HOME USER PWD SHELL HOSTNAME HOSTTYPE Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set Shell: variabili di sistema Per visualizzare il

Dettagli

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab Shell. Lab-Shell 1

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab Shell. Lab-Shell 1 Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab Shell Lab-Shell 1 Scelta della shell La prima riga di un file comandi deve specificare quale shell si vuole utilizzare:

Dettagli

CORSO PERL01: Programmazione con linguaggio PERL classico. CEGEKA Education corsi di formazione professionale

CORSO PERL01: Programmazione con linguaggio PERL classico. CEGEKA Education corsi di formazione professionale CORSO PERL01: Programmazione con linguaggio PERL classico CEGEKA Education corsi di formazione professionale Programmazione con linguaggio PERL classico Il corso base su PERL introduce i programmatori

Dettagli

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Le strutture Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Dichiarazione di una struttura: struct point { int x; int y; }; La dichiarazione di una struttura

Dettagli

L utility Unix awk [Aho-Weinberger-Kernighan]

L utility Unix awk [Aho-Weinberger-Kernighan] L utility Unix awk [Aho-Weinberger-Kernighan] L utility awk serve per processare file di testo secondo un programma specificato dall utente. L utility awk legge riga per riga i file ed esegue una o più

Dettagli

Input/Output. Console e File.

Input/Output. Console e File. Input/Output Console e File http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Le istruzioni di stampa servono a rendere visibili

Dettagli

Gli oggetti predefiniti Array, String e Date. Marco Camurri 1

Gli oggetti predefiniti Array, String e Date. Marco Camurri 1 Gli oggetti predefiniti Array, String e Date Marco Camurri 1 Oggetti predefiniti Oltre a consentire la creazione di oggetti personalizzati, JavaScript mette a disposizione del programmatore alcuni oggetti

Dettagli

Ulteriori comandi sui file

Ulteriori comandi sui file Ulteriori comandi sui file Confronto tra file: 1. > cmp file1 file2 restituisce il primo byte ed il numero di linea in cui file1 e file2 differiscono (se sono uguali, non viene stampato nulla a video).

Dettagli

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Le strutture Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Dichiarazione di una struttura: struct point { int x; int y; }; La dichiarazione di una struttura

Dettagli

Gestione dei files in linguaggio C. Fondamenti

Gestione dei files in linguaggio C. Fondamenti Programmazione e Laboratorio di Programmazione Gestione dei files in linguaggio C Fondamenti 1 Che cosa è un file? Un file può essere visto come un contenitore di informazioni simile ad un vettore di bytes

Dettagli

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2015/2016. Comandi Shell

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2015/2016. Comandi Shell Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2015/2016 Comandi Shell 1 Ciclo Esecuzione Shell Comandi Comandi shell: mkdir touch echo cp echo cat cut head tail sort 3 Esercizio n 0 0a) Creare una

Dettagli

Shell BASH. Variabili Redirezione

Shell BASH. Variabili Redirezione Shell BASH Variabili Redirezione Variabili Scrittura/definizione: a=3 (senza spazi) Lettura: ${a} o semplicemente $a Esempi: > a=3 > echo $a 3 > echo $aa > echo ${a}a 3a > a=ciao pippo bash: pippo: command

Dettagli

Lezione 14 Comunicazione

Lezione 14 Comunicazione Lezione 14 Comunicazione Sistemi Operativi (9 CFU), CdL Informatica, A. A. 2014/2015 Dipartimento di Scienze Fisiche, Informatiche e Matematiche Università di Modena e Reggio Emilia http://weblab.ing.unimo.it/people/andreolini/didattica/sistemi-operativi

Dettagli

Lezione V Fondamenti di Ingresso/Uscita

Lezione V Fondamenti di Ingresso/Uscita Programmazione e Laboratorio di Programmazione Lezione V Fondamenti di Ingresso/Uscita Programmazione e Laboratorio di Programmazione: Fondamenti di Ingresso/Uscita 1 Flussi standard di I/O Standard streams:

Dettagli

La Shell: esecuzione dei comandi

La Shell: esecuzione dei comandi La Shell: esecuzione dei comandi Shell Unix - Linux comandi La shell, utilizzando i servizi del kernel, crea un nuovo processo che esegue il comando, provvedendo a "passargli" in modo opportuno gli eventuali

Dettagli

Introduzione alla programmazione nella shell di Unix 10 Maggio 2005

Introduzione alla programmazione nella shell di Unix 10 Maggio 2005 Introduzione alla programmazione nella shell di Unix 10 Maggio 2005 1 Page 1 Shell e programmazione La shell di UNIX definisce un vero e proprio linguaggio di programmazione, le cui caratteristiche principali

Dettagli

Shell: variabili di sistema PATH HOME USER PWD SHELL HOSTNAME. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set

Shell: variabili di sistema PATH HOME USER PWD SHELL HOSTNAME. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set Shell: variabili di sistema PATH HOME USER PWD SHELL HOSTNAME Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set Shell: variabili di sistema Per visualizzare il valore di

Dettagli

a strange language, shaped as much by history as by design

a strange language, shaped as much by history as by design a strange language, shaped as much by history as by design Kernigham & Pike Percorso 5 Bash script 2 Il primo script Percorso 5 Bash script 3 Esecuzione Percorso 5 Bash script 4 Variabili # la variabile

Dettagli

Calcolare il massimo di una lista

Calcolare il massimo di una lista Calcolare il massimo di una lista Lunedì abbiamo definito un algoritmo per calcolare il valore massimo fra gli elementi di una lista predefinita di interi. In particolare, abbiamo: deciso di rappresentare

Dettagli

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2016/2017. Comandi Shell

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2016/2017. Comandi Shell Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2016/2017 Comandi Shell 1 Sommario Comandi shell: ls, cd, pwd echo touch cat head tail cut sort 2 Esercizio n 0 0a) Creare una cartella EsercitazioneLSO-1

Dettagli

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2018/2019. Comandi Shell

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2018/2019. Comandi Shell Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2018/2019 Comandi Shell 1 Sommario Comandi shell: ls, cd, pwd echo touch cat head tail cut sort 2 Esercizio n 0 0a) Creare una cartella EsercitazioneLSO-1

Dettagli

ESERCITAZIONE 2 fork e exec

ESERCITAZIONE 2 fork e exec ESERCITAZIONE 2 fork e exec Richiami di scripting Ripassiamo: Differenza tra pipe e ridirezione su file Come si accede agli argomenti di un invocazione Sintassi dell if Sintassi del for Pipe e ridirezione

Dettagli

8 Introduzione MATLAB

8 Introduzione MATLAB 8.1 Basi Per pulire il workspace (eliminare tutte le variabili esistenti): 1 clear Per pulire la finestra dei comandi (command window): 1 clc In MATLAB non è necessario dichiarare le variabili ed esse

Dettagli

Il sistema operativo LINUX Script di Shell

Il sistema operativo LINUX Script di Shell Il sistema operativo LINUX Script di Shell Giorgio Di Natale Stefano Di Carlo Bartolomeo Montrucchio Politecnico di Torino Dip. Automatica e

Dettagli

MATLAB Alcune funzioni utili: fprintf, length, size

MATLAB Alcune funzioni utili: fprintf, length, size MATLAB Alcune funzioni utili: fprintf, length, size Funzione fprintf fprintf(fileid, format, var1, var2,... ) fprintf(format, var1, var2,... ) count = fprintf(...) fprintf(fileid, format, A, B) salva il

Dettagli

Introduzione alle espressioni regolari

Introduzione alle espressioni regolari Introduzione alle espressioni regolari Introduzione Le espressioni regolari possono essere trovate in molti editor avanzati come il vi, nei programmi grep/egrep e in linguaggi come l'awk, il perl e il

Dettagli

Quicksort e qsort() Alessio Orlandi. 28 marzo 2010

Quicksort e qsort() Alessio Orlandi. 28 marzo 2010 Quicksort e qsort() Alessio Orlandi 28 marzo 2010 Intro Quicksort è l algoritmo di ordinamento più implementato, insieme con Mergesort. Tutte le librerie standard UNIX ne prevedono una implementazione.

Dettagli

Scritto da Martedì 12 Luglio :14 - Ultimo aggiornamento Venerdì 15 Luglio :47

Scritto da Martedì 12 Luglio :14 - Ultimo aggiornamento Venerdì 15 Luglio :47 In questo articolo mostreremo come è possibile eseguire un programma esterno o uno script usando il linguaggio PHP. Le funzioni che si occupano di eseguire dei comandi sono quattro: - shell_exec() - exec()

Dettagli

- comando sort: con chiavi di ordinamento -

- comando sort: con chiavi di ordinamento - - comando sort: con chiavi di ordinamento - 1 - sort: chiavi di ordinamento - Tramite l'opzione -k è possibile definire una chiave di ordinamento su una porzione della linea contenuta nel file Specificando

Dettagli

Manipolazioni elementari di flussi di testo strutturati

Manipolazioni elementari di flussi di testo strutturati Manipolazioni elementari di flussi di testo strutturati L output di molti comandi è costituito da flussi di testo strutturati: ogni riga rappresenta una parte del risultato ed è divisa in campi (fields)

Dettagli

Il sistema operativo LINUX Esercitazione 3

Il sistema operativo LINUX Esercitazione 3 Il sistema operativo LINUX Esercitazione 3 Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica esercitazioni e temi d'esame 1

Dettagli

Page 1. Programmazione. Shell e programmazione. File comandi (script) Introduzione alla programmazione nella shell di Unix

Page 1. Programmazione. Shell e programmazione. File comandi (script) Introduzione alla programmazione nella shell di Unix Introduzione alla programmazione nella shell di Unix 10 Maggio 2005 1 Programmazione E` possibile memorizzare sequenze di comandi all'interno di le eseguibili: Ad esempio: #!bin/bash echo hello world!

Dettagli

8 Introduzione MATLAB

8 Introduzione MATLAB 8.1 Basi Per pulire il workspace (eliminare tutte le variabili esistenti): 1 clear Per pulire la finestra dei comandi (command window): 1 clc In MATLAB non è necessario dichiarare le variabili ed esse

Dettagli

Lab. di Sistemi Operativi - Lezione in aula - a.a. 2012/2013

Lab. di Sistemi Operativi - Lezione in aula - a.a. 2012/2013 Lab. di Sistemi Operativi - Lezione in aula - a.a. 2012/2013 Espressioni Regolari 1 Sommario Metacaratteri Quoting Comandi di filtro: grep Espressioni Regolari (E.R.): I caratteri grep con E.R. 2 - Metacaratteri

Dettagli

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Python Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere date in un linguaggio comprensibile dal calcolatore. In generele questi

Dettagli

Per visualizzare il valore di tutte le variabili d ambiente si usa il comando env

Per visualizzare il valore di tutte le variabili d ambiente si usa il comando env Tipi di Shell sh Bourne shell csh C shell ksh Korn shell bash Bourne Again (Bash) shell tcsh TENEX C shell zsh Z shell rc rc shell es es shell à csh e bash sono le più comuni. Per cambiare il tipo di shell

Dettagli

Filtri e pipeline. qualsiasi comando unix ha a disposizione 3 file con cui comunicare con il resto del sistema: standard input in ingresso

Filtri e pipeline. qualsiasi comando unix ha a disposizione 3 file con cui comunicare con il resto del sistema: standard input in ingresso Filtri e pipeline qualsiasi comando unix ha a disposizione 3 file con cui comunicare con il resto del sistema: standard input in ingresso standard output in uscita standard error in uscita stdin (fd 0)

Dettagli

CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS

CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS Comandi da terminale Il comando sleep fa attendere un comando prima dell'esecuzione. Prova il comando: $ sleep 3s && echo Ciao Mondo! $ Comandi da terminale

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell

Dettagli

Esercizi su permessi

Esercizi su permessi Esercizi su permessi usare umask per verificare il valore corrente creare file e directory verificare i permessi cambiare umask e ripetere l esercizio verificando come cambiano i permessi creare una cartella

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://www.ing.unibs.it/gastaldi/ Indice 1 M-file di tipo Script e Function Script Function 2 Gestione

Dettagli

I tipi strutturati e i record in C++

I tipi strutturati e i record in C++ I tipi strutturati e i record in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi

Dettagli

Esercitazione 2 GUIDA

Esercitazione 2 GUIDA Corso di Laurea in Biologia Molecolare, Università di Padova Insegnamento di Informatica e Bioinformatica Esercitazione 2 Padova, 13 aprile 2016 GUIDA Uso della shell Unix Obbiettivo dell'esercitazione

Dettagli

CORSO ACCESS PARTE IV

CORSO ACCESS PARTE IV Creazione di un database / gestione tabelle Per creare un nuovo database Menu File Selezionare Nuovo Scegliere Database vuoto nella scheda Generale e confermare con Ok Impostare il nome e il percorso nella

Dettagli

Formattazione avanzata. I/O Avanzato e File. Formattazione dell output. Formattazione avanzata. Forma completa degli specificatori

Formattazione avanzata. I/O Avanzato e File. Formattazione dell output. Formattazione avanzata. Forma completa degli specificatori Formattazione avanzata Modificatori di o in output Modificatori di o in input Stream predefiniti I/O Avanzato e File 2 Formattazione dell output Formattazione avanzata L output (su schermo o su file) viene

Dettagli

Formattazione avanzata. Modificatori di formato in output Modificatori di formato in input Stream predefiniti

Formattazione avanzata. Modificatori di formato in output Modificatori di formato in input Stream predefiniti I/O Avanzato e File Formattazione avanzata Modificatori di formato in output Modificatori di formato in input Stream predefiniti 2 Formattazione avanzata Formattazione dell output L output (su schermo

Dettagli

Introduzione a. Funzioni di Ingresso e Uscita. Compilazione

Introduzione a. Funzioni di Ingresso e Uscita. Compilazione Introduzione a Funzioni di Ingresso e Uscita Compilazione 2 Come si termina...... un programma in esecuzione (processo)? Ctrl + C In UNIX ci si basa sul concetto di terminale Anche da GUI, quello che si

Dettagli

Esempio di domande sul file system

Esempio di domande sul file system Esempio di domande sul file system Si supponga che un file system usi blocchi di 4 Kbyte, e che un puntatore ad un blocco occupi 4 byte. Se l INODE di un file utilizza 12 blocchi, un blocco indiretto ed

Dettagli

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Python Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere date in un linguaggio comprensibile dal calcolatore. In generele questi

Dettagli

Laboratorio 1. 20/21 febbraio 2019

Laboratorio 1. 20/21 febbraio 2019 Laboratorio 1. 20/21 febbraio 2019 Attivitá Professionalizzante A.A. 2018/19 Premessa Si lavora a coppie, sui PC del laboratorio. Al termine degli esercizi, ogni copia scrive un breve report e me lo invia

Dettagli

Le operazioni di Input e Output

Le operazioni di Input e Output Le operazioni di Input e Output Introduction to Fortran 90 Paolo Ramieri, CINECA Aprile 2014 Input e Output Il salvataggio dei datisu disco e la loro lettura è possibile dopo aver generato un "collegamento"

Dettagli

La connessione ai database MySQL tramite script PHP versione 5.5

La connessione ai database MySQL tramite script PHP versione 5.5 La connessione ai database MySQL tramite script PHP versione 5.5 Php è un linguaggio di scripting che estende le funzionalità del server Web, mentre MySQL è un programma server che si occupa della gestione

Dettagli

Sistemi Operativi e informatica 1

Sistemi Operativi e informatica 1 1 Dip. Scienze dell Informatica Università degli Studi di Milano, Italia marchi@dsi.unimi.it a.a. 2011/12 1 c 2010-2012 M.Monga R.Paleari M.. Creative Commons Attribuzione-Condividi allo stesso modo 2.5

Dettagli

Appunti di informatica. Lezione 8 anno accademico Mario Verdicchio

Appunti di informatica. Lezione 8 anno accademico Mario Verdicchio Appunti di informatica Lezione 8 anno accademico 2016-2017 Mario Verdicchio Il ciclo FOR Molto spesso in un programma bisogna ripetere un operazione per un numero prefissato di volte Si tratta di un iterazione

Dettagli

Lezione 3: Programmazione della Shell di Unix

Lezione 3: Programmazione della Shell di Unix Lezione 3: Programmazione della Shell di Unix Laboratorio di Elementi di Architettura e Sistemi Operativi 2 Marzo 202 Parte : Soluzione degli esercizi Statistiche Ho ricevuto 2 soluzioni Tutte le soluzioni

Dettagli

Lab. di Sistemi Operativi - Esercitazione - Comandi Shell

Lab. di Sistemi Operativi - Esercitazione - Comandi Shell Lab. di Sistemi Operativi - Esercitazione - Comandi Shell 1 - Esercizi Comandi Unix - 2 Esercizio n 0 0a) creare una cartella EsercitazioneLSO-1 nella directory di lavoro 0b) creare un file testo chiamato

Dettagli

Corso di Laboratorio di Sistemi Operativi

Corso di Laboratorio di Sistemi Operativi Corso di Laboratorio di Sistemi Operativi Lezione 4 Alessandro Dal Palù email: alessandro.dalpalu@unipr.it web: www.unipr.it/~dalpalu Approfondimento su make http://http://capone.mtsu.edu/csdept/facilitiesandresources/make.htm

Dettagli

Laboratorio di Internet I Il sistema operativo Linux

Laboratorio di Internet I Il sistema operativo Linux Università di Roma Sapienza Sede di Latina 25 Febbraio 2014 Laboratorio di Internet I Il sistema operativo Linux Luca Chiaraviglio Ingegneria dell Informazione Outline Breve storia di Linux Concetti base

Dettagli

file fisico file logico

file fisico file logico I files Un file è una struttura di dati residente su una memoria di massa (file fisico) Un programma vede un file come una sequenza di bytes (file logico) Generalizzando, un file può comprendere qualsiasi

Dettagli

Introduzione a Unix/Bash. Insieme minimo di strumenti per interagire con la shell Bash, compilare ed eseguire

Introduzione a Unix/Bash. Insieme minimo di strumenti per interagire con la shell Bash, compilare ed eseguire Introduzione a Unix/Bash Insieme minimo di strumenti per interagire con la shell Bash, compilare ed eseguire Sistema operativo e shell Il sistema operativo è un programma che Fa da intermediario fra le

Dettagli

Lezione 11: Liste a Puntatori e Input/Output

Lezione 11: Liste a Puntatori e Input/Output Lezione 11: Liste a Puntatori e Input/Output Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione Richiamo: strutture (struct)

Dettagli

Operazioni base di Input e Output

Operazioni base di Input e Output Operazioni base di Input e Output Introduction to modern Fortran Maurizio Cremonesi, CINECA Maggio 2016 Input e Output Il salvataggio dei dati su disco e la loro lettura è possibile dopo aver generato

Dettagli

Dati due punti sul piano calcolare la loro distanza

Dati due punti sul piano calcolare la loro distanza Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12

Dettagli

I/O da tastiera + Alessandra Giordani Lunedì 2 maggio

I/O da tastiera + Alessandra Giordani Lunedì 2 maggio I/O da tastiera + costrutti while e if Alessandra Giordani agiordani@disi.unitn.it Lunedì 2 maggio 2011 http://disi.unitn.it/~agiordani/ Ripasso funzione printf() Usata per stampare il contenuto di una

Dettagli

(Def. funzioni con parametri di tipo matrice)

(Def. funzioni con parametri di tipo matrice) ESERCIZIO 1 (Def. funzioni con parametri di tipo matrice) Scrivere un sotto-programma in linguaggio C++ che ricevuta una matrice quadrata come parametro restituisca al chiamante un valore booleano indicante

Dettagli

Lesson #4. Espressioni Regolari. Roberto De Virgilio

Lesson #4. Espressioni Regolari. Roberto De Virgilio Lesson #4 Espressioni Regolari Roberto De Virgilio Sistemi operativi - 9 Novembre 2015 Espressioni regolari in Unix Patterns (modelli) che individuano insiemi di stringhe (linguaggi) e rappresentano uno

Dettagli

Priv8 Team Author: DevilAuron

Priv8 Team Author: DevilAuron Priv8 Team Author: DevilAuron Email: songforthemoment@hotmail.it www.devilsnight.altervista.org 1. Cos'è Il Perl? 2. Necessario 3. Come Far Partire Uno Script In Perl 4. Guida con Esempi 5. Un po' di calcoli

Dettagli

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Programmazione Assembly

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Programmazione Assembly Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Programmazione Assembly Scrivere il codice ARM che implementi le specifiche richieste e quindi verificarne il comportamento usando il simulatore

Dettagli

Fondamenti Teorici e Programmazione

Fondamenti Teorici e Programmazione Fondamenti Teorici e Programmazione Modulo A Elementi di Programmazione Claudio Gallicchio, Ph.D. Array 2 Dati Strutturati I tipi di dati visti finora sono numeri (interi o razionali) booleani (valori

Dettagli

Come si accede a BASH Tasti utili: Ctrl-Alt-F1, Ctrl-Alt-F7. Il Primo comando : exit (CASE SENSITIVE!!) Si può uscire con CTRL-D

Come si accede a BASH Tasti utili: Ctrl-Alt-F1, Ctrl-Alt-F7. Il Primo comando : exit (CASE SENSITIVE!!) Si può uscire con CTRL-D Come si accede a BASH Tasti utili: Ctrl-Alt-F1, Ctrl-Alt-F7 Il Primo comando : exit (CASE SENSITIVE!!) Si può uscire con CTRL-D Il secondo comando: ls Opzioni: ls l, ls a, ls R ls --full-time Parametri:

Dettagli

Text files, streams. I file che ci interessano sono file di testo. anche se, logicamente, contengono numeri o altro

Text files, streams. I file che ci interessano sono file di testo. anche se, logicamente, contengono numeri o altro Text files, streams I file che ci interessano sono file di testo anche se, logicamente, contengono numeri o altro In C/C++ ci sono anche i file binari, ma li ignoriamo file di testo = ASCII file = successione

Dettagli

Lab. di Sistemi Operativi - Esercitazione n 2 - a.a. 2012/2013

Lab. di Sistemi Operativi - Esercitazione n 2 - a.a. 2012/2013 Lab. di Sistemi Operativi - Esercitazione n 2 - a.a. 2012/2013 Comandi di ricerca 1 Sommario Comandi shell di ricerca: grep find 2 - comando di ricerca: grep - 3 file passwd, ricordiamo che Le righe di

Dettagli

Giochi di parole. D Conta vocali

Giochi di parole. D Conta vocali Giochi di parole Si vuole giocare al gioco del reverse. Il conduttore del gioco propone parole al contrario (ad esempio ONALIM oppure LLIRGOTUA) ed il giocatore deve pronunciare le parole da sinistra verso

Dettagli

Laboratorio di Python (con Linux)

Laboratorio di Python (con Linux) 8 a lezione Università di Bologna 2, 4 maggio 2012 Sommario 1 2 3 Diversi Python 2.6 vs 2.7 v.s 3.x La versione di Python installata sulle macchine del laboratorio è la 2.6 (per l esattezza 2.6.6 ). Versioni

Dettagli

Tipi di dato strutturati: Array

Tipi di dato strutturati: Array Tipi di dato strutturati: Array I dati visti finora sono: numeri (interi o razionali), booleani le stringhe (sequenze di caratteri) ma i dati manipolati nelle applicazioni reali sono spesso complessi (o

Dettagli

Assegnazione di una variabile

Assegnazione di una variabile Assegnazione di una variabile Per scrivere un valore dentro una variabile si usa l operatore di assegnazione, che è rappresentato dal simbolo =. Quindi, se scrivo int a; a = 12; assegno alla variabile

Dettagli

File binari e file di testo

File binari e file di testo I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file

Dettagli

Guida introduttiva al PHP

Guida introduttiva al PHP Fabio Castellini 26/01/2016 Guida introduttiva al PHP Cos'è il PHP? Il PHP è un linguaggio di scripting interpretato, simile al JavaScript, per intenderci, originariamente concepito per la programmazione

Dettagli

Files in C endofile

Files in C endofile Files in C Il C vede i file semplicemente come un flusso (stream) sequenziale di bytes terminati da un marcatore speciale che determina la fine del file (end-of-file). 0 1 2 3 4... endofile A differenza

Dettagli

Gli statement. Gli statement. Gli statement. Gli statement. Gli statement

Gli statement. Gli statement. Gli statement. Gli statement. Gli statement Ogni istruzione di uno script viene chiamata statement. La fine di uno statmenet e' indicata dal simbolo ;. Anche se in ActionScript il ; è opzionale, si consiglia di metterlo ugualmente per aumentare

Dettagli

Qualsiasi programma in C++ segue lo schema:

Qualsiasi programma in C++ segue lo schema: Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni

Dettagli

Impariamo a programmare in. Lezione 7

Impariamo a programmare in. Lezione 7 Impariamo a programmare in Ancora Stringhe Sequenze di escape Proviamo a stampare una stringa che contiene delle virgolette Hello, World! // NON FUNZIONA! System.out.println("Hello, "World"!"); Il compilatore

Dettagli

Laboratorio 1. 15/16 marzo 2018

Laboratorio 1. 15/16 marzo 2018 Laboratorio 1. 15/16 marzo 2018 Attivitá Professionalizzante A.A. 2017/18 Premessa Quando avete finito gli esercizi, inviatemeli in un unico file compresso chiamato lab1 CognomeNome (zip, rar,...), all

Dettagli

Esercitazione di Reti degli elaboratori

Esercitazione di Reti degli elaboratori Esercitazione di Prof.ssa Chiara Petrioli Christian Cardia, Gabriele Saturni Cosa vedremo in questa lezione? Gli Array Gli array multidimensionali Le stringhe I puntatori Esercizi Pagina 1 Gli Array Definizione

Dettagli

Elaborazione di File di Dati. Uso di semplici comandi Espressioni regolari AWK

Elaborazione di File di Dati. Uso di semplici comandi Espressioni regolari AWK Elaborazione di File di Dati Uso di semplici comandi Espressioni regolari AWK Sort sort [option] file1... filen Consente di ordinare, fondere o confrontare le linee dei file in input Ha tre modalità di

Dettagli

GESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009

GESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009 Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) Struttura delle tabelle

Corso di Access. Prerequisiti. Modulo L2A (Access) Struttura delle tabelle Corso di Access Modulo L2A (Access) 1.3.1 Struttura delle tabelle 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati Gli oggetti di Access 2 1 Introduzione Il concetto

Dettagli

Descrittori di formato

Descrittori di formato Fondamenti di Informatica T (A-K) CdL Ingegneria Meccanica AA 2013-2014 Introduzione In I/O, i dati possono essere letti/scritti: utilizzando la rappresentazione del compilatore (come abbiamo sempre fatto

Dettagli

Elementi di Base. Introduzione a Python.

Elementi di Base. Introduzione a Python. Elementi di Base Introduzione a Python http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Panoramica Elementi di base della sintassi (struttura,

Dettagli

Lezione 22: Input/Output e Files

Lezione 22: Input/Output e Files Lezione 22: Input/Output e Files Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università di Salerno Struttura della lezione Esami: date e modalità Funzioni di libreria standard

Dettagli

Lab. di Sistemi Operativi - Esercitazione n 2- - comando di ricerca: grep -

Lab. di Sistemi Operativi - Esercitazione n 2- - comando di ricerca: grep - Lab. di Sistemi Operativi - Esercitazione n 2- - comando di ricerca: grep - 1 Ricordiamo che Le righe di /etc/passwd si presentano nella seguente forma: Username:Password:UserID:GroupID:Info:HomeDirectory:Shell

Dettagli

Lezione XXII.I La gestione dei file Fondamenti

Lezione XXII.I La gestione dei file Fondamenti Programmazione e Laboratorio di Programmazione Lezione XXII.I La gestione dei file Fondamenti 1 Che cosa è un file? Un file può essere visto come un contenitore di informazioni simile ad un vettore di

Dettagli