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

Documenti analoghi
Gestione avanzata dei file

Ulteriori comandi sui file

Manipolazioni elementari di flussi di testo strutturati

Shell BASH. Variabili Redirezione

Sistemi Operativi 1. Mattia Monga. a.a. 2012/13. Dip. di Informatica Università degli Studi di Milano, Italia

Espressioni Regolari. Giancarlo Massidda

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

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

Il sistema operativo UNIX/Linux. Soluzione di problemi mediante script Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

GLUG Govonis. Corso Avanzato GNU / Linux. Lezione del Shell

Manipolazione di testi: espressioni regolari

Il sistema operativo LINUX Script di Shell

L utility Unix awk [Aho-Weinberger-Kernighan]

Linguistica Computazionale

Linguistica dei Corpora (2) Lezione 3: Manipolare testi (non solo con cqp)

Lab. di Sistemi Operativi - Esercitazione - Comandi Shell

Il sistema operativo LINUX Tools e comandi avanzati

L interfaccia command line di Ubuntu è il Terminale che usa un sistema command line detto bash.

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Elencare i contenuti di una directory

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

Scrivere testi - ed. Un programma che consente di creare file testo si dice editor. L editor standard e più semplice di UNIX è ed.

Il DOS diagramma di flusso. I comandi del DOS. I comandi: vista funzionale. Parametri. Opzioni. I comandi: sintassi

Linguistica Computazionale

Come ordinare facilmente i dati in un foglio di calcolo Excel definendo chiavi e parametri.

Esecuzione di script

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

Lezione 2: Comandi avanzati della Shell di Unix

Corso di Laboratorio di Sistemi Operativi

Caratteristiche dei linguaggi per Database

Funzioni di I/O per numeri. Input e output di valori numerici. Input formattato scanf. Stream preesistenti

Esercitazione 2 GUIDA

Lezione 3: Programmazione della Shell di Unix

Stream EDitor (sed) sed NON modifica l'input 2. L'output viene inviato allo standard output e puo' essere rediretto

Editor di testo. Ing. Simone Brienza. Corso di laurea magistrale in Ingegneria Elettronica

Espressioni regolari in Javascript (RegExp)

Il sistema operativo UNIX/Linux. Gli script di shell

Controllo di flusso negli script: if-then-else

I puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore

Excel Base- Lezione 3. Barbara Pocobelli Estav Nord Ovest. Il comando Trova

Lezione 8. Esercitazione su AWK. Sistemi Operativi

Corso di Laboratorio di Sistemi Operativi

Esercizi con grep, sed

Excel 3. Master Universitario di II livello in MANAGER NELLE AMMINISTRAZIONI PUBBLICHE A.A Prof.ssa Bice Cavallo

Sistemi Operativi, Secondo Modulo, Canale M Z Riassunto della lezione del 07/03/2016

Codifica informazione testuale

ORGANIZZAZIONE del FILE SYSTEM SISTEMA OPERATIVO UNIX FILE SYSTEM. FILE astrazione unificante del sistema operativo

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

Linguaggio C: introduzione

I comandi del DOS. Come si fornisce un comando al DOS

Esempio 1. Creare uno script (file comandi) che abbia la sintassi:

Command line kung fu

sed: editor non interattivo di file di testo (1974 nei Bell Labs come evoluzione di grep, Lee E. McMahon)

Bioinformatica II. Esercitazione 2 GUIDA

Lavorare in ambiente UNIX. Prompt dei comandi (shell) Pipe e filtri (I/O) Tips and tricks

Linux e la shell Bash

LabVIEW parte II. Ing. Gianfranco Miele November 3, 2010

I FILTRI SED, GREP (e AWK) Tratto da SED

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

I Metacaratteri della Shell Unix

Bash: history list (I)

MOTORE DI RICERCA DEGLI ATTI DEL BURC GUIDA ALL USO

Esercizi di programmazione in shell - Gennaio 2004

Laboratorio di Elementi di Bioinformatica

Analizzatori Lessicali con JLex. Giuseppe Morelli

USO DELLA TASTIERA E DEL MOUSE

USO DELLA TASTIERA E DEL MOUSE

Fondamenti di Informatica

Definizione di file. Directory e file File binari e file di testo

L ambiente UNIX/Linux. Comandi UNIX & Linux (parte A) Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Programmazione Funzionale

Il linguaggio C - Introduzione

La rappresentazione delle informazioni

Lezione 25: File Mercoledì 18 Novembre 2009

Sistemi Operativi, Secondo Modulo, Canale M Z Riassunto della lezione del 09/03/2016

Linguistica Computazionale

Come si accelera il caricamento delle immagini in una pagina con roll-over?

Modulo 2 Appendice 1 Espressioni Regolari

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

Usare Python in Linux

Lezione 15 File System

Audacity - Introduzione

GENERATORE DI MATRICI COMMUTATIVE

Esercizi di programmazione in linguaggio C English Dictionary

Linguaggio SQL seconda parte

Linguaggi formali e compilazione

U.T.E FOGLIO ELETTRONICO. Università della Terza Età. Sede di Novate Milanese. Corso Informatica Approfondimento. Docente: Giovanni Pozzi

Guida introduttiva al PHP

U.T.E Università della Terza Età

Fac-simile TVI Informatica Facoltà di Economia Università degli studi di Bergamo

L utility Unix awk [Aho-Weinberger-Kernighan]

I File Batch. Definizione di File Batch

Esercizi di Informatica: Shell

FlexCMP La piattaforma accessibile per il web 2.0

Espressione di chiamata di funzione

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Fondamenti di Informatica Esercizi settimanali n. 3 01/10/2009 SOLUZIONI PROPOSTE

E' un interprete di comandi: legge ciascuna linea di comando, la interpreta e la esegue

Basi di Dati: Corso di laboratorio

Archiviazione, ricerca dei file e pianificazione dei processi

Transcript:

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 manipola (lo filtra) secondo determinati parametri e opzioni Produce il suo output su standard output Sostanzialmente sono comandi che Permettono un qualche tipo di manipolazione di testi

3 Filtri Filtri più comuni awk, cat, cut, compress, grep, head, perl, sed, sort, tail, tr, uniq, wc Alcuni di questi comandi Sono discretamente complessi grep, sort Sono dei linguaggi di scripting completi sed, awk Spesso Utilizzano espressioni regolari Sono utilizzati come comandi in pipe (ovvero utilizzati con l operatore ) con altri

4 cut Rimuove sezioni specifiche di ogni riga del file indicato Formato cut [options] file Opzioni principali --characters=list, -c LIST Seleziona solo i caratteri di posizione indicata --fields=list, -f LIST Indica la lista dei byte (caratteri, campi) da selezionare (separati da virgola) Formato o n (=n), -n ( n), n- ( n), n1-n2 ( n1 && n2)

5 Esempi --delimiter=delim, -d DELIM Usa DELIM per dividere i campi (il delimitatore di default è la tabulazione) cut f 1,3 file.txt Seleziona i campi 1 e 3 di tutte le righe del file (delimitatore = tab) cut f 1-3,5-6 d foo.txt Selezione i campi da 1 a 3 (1, 2 e 3) e da 5 a 6 del file, specificando che i campi sono delimitati da uno spazio

6 tr Copia lo standard input nello standard output effettuando le sostituzioni oppure le cancellazioni specificate Va utilizzato ridirigendo il suo input con l outpup di altri comandi Formato tr [options] set 1 [set 2 ] Opzioni principali --complement, -c, -C Utilizza il complemento del set 1 --delete, -d Cancella i caratteri indicati nel set 1

7 Esempi All interno di set 1 e set 2 : \num = carattere di codice ASCII num \n = newline \\ = nackslah Visualizza su standard output le righe di file.txt in cui sono stati eliminati i caratteri a, b, c, d tr d abcd < file.txt cat file.txt tr ab BA Visualizza su standard output le righe di file.txt in cui a è stato sostituito con B e b con A echo ciao tr ia IA Visualizza ciao su standard output

8 uniq Riporta oppure elimina le righe ripetute nel file in ingresso Formato uniq [options] [infile] [outfile] Richiede che il file sia ordinato Senza opzioni elimina le righe duplicate

9 uniq Opzioni principali --count, -c Stampa il numero di ripetizioni prima della riga -repeated, -d Visualizza solo le righe ripetute --skip-fields=n, -f N Ignora i primi N campi per il confronto --ignore-case, -I Case insensitive

10 Esempi uniq -count file.txt uniq c file.txt uniq d a.x Elimina le righe duplicate visualizza le rimanenti inserisce il numero di volte che compaiono Visualizzza le sole righe ripetute

11 basename Elimina il direttorio (path) e suffisso (estensione) da un nome di file Formato basename nome [estensione]

12 Esempi > basename /home/quer/current/file.txt file.txt > basename /home/quer/current/file.txt.txt File > basename /home/quer/current/file.txt.txt File > basename /home/quer/current/file.txt txt file.

13 sort Ordina i file in input in ordine alfabetico Formato sort [options] [file] Opzioni principali --ignore-leading-blanks, -b Ignora gli spazi iniziali --dictionary-order, -d Considera solo spazi e caratteri alfabetici --ignore-case, -f Trasforma caratteri minuscoli in maiuscoli (Case insesitive)

14 sort --numeric-sort, -n Confronta utilizzando un ordine numerico --reverse, -r Ordine inverso --key=c1,[,c2], -k c1[,c2] Ordina sulla base dei soli campi selezionati --merge, -m Merge file già ordinati (senza riordinare) --output=f, -o=f Scrive l output nel file f invece che su stdandard output

15 Esempi Ordina le righe del file file.txt interpretandole come sequenza di caratteri ASCII sort file.txt cat file1.txt file 2.txt \ sort -r k1,3 -f Concatena i file filer1.txt e file2.txt e ordina in ordine decrescente le righe dei due file utilizzando i campi 1,2 e 3 e ignorando la differenza tra lettere maiuscole e minuscole

16 grep Global Regular Expression Print Cerca nel contenuto dei file di ingresso le righe che hanno un match con il pattern fornito e le visualizza su standard output Il comando esiste in diverse versioni grep Versione standard egrep, fgrep, rgrep Egrep equivale a grep E Usa Extended RE nel pattern

17 grep Formato grep [options] pattern [file] Opzioni principali --regexp=pattern, -e PATTERN Specifica i pattern da ricercare Permette di specificare pattern multipli --after-context=n, -A N Dopo ciascun match stampa ancora N righe (oltre alla riga in cui si è trovato il match) --with-filename, -H Stampa il nome del file per ogni match --ignore-case, -I Case insensitive

18 grep --line-number, -n Stampa il numero di riga del match --recursive, -r, -R Procede in maniera ricorsiva sul sottoalbero --inverse-match, -v Stampa solo le righe che non fanno match

19 grep Stampa tutte le righe del file che contengono abc grep abc file.txt grep e l. e a file.txt grep H A 4 abc file.txt Stampa tutte le righe che contengono una l seguita da un altro carattere qualsiasi, oppure contengono una a Stampa tutte le righe che contengono la stringa abc, stampa tali righe e le 4 successive, facendole precedere dal nome del file