Utilities per i File

Il comando find

Per trovare il percorso di files che abbiano certe caratteristiche. Sintassi:

find directory clausola ...
  • find compie una ricerca a partire dalla directory specificata per tutte le sottodirectories alla ricerca di files soddisfacecenti alla clausola/e specificata/e
  • Manda ad output il percorso dei file trovati

Esempi di clausole:

  • -name “nome” - con caratteri jolly
  • -user utente | -group gruppo - apparteneti all'utente o grupp specificato, sia col nome che col UID o GID
  • -ctime|-mtime|-atime +|- giorni - tempo di creazione, modifica, accesso superiore o inferiore a dati giorni
  • -exec comando \; - esegue il comando sul file
    • All'interno delcomando il file corrente è designato da {}
    • Il comando è terminato da un ;, che deve avere un \ davanti per nasconderlo alla shell

Il comando grep

Ricerca all'interno di uno o più file, o nello standard input, le espressioni regolari indicate. Sintassi:

grep [opzioni] espress_regolare [file]
  • Seleziona le linee del file che contengono l'espressione regolare indicata (compie una slice orizzontale)
  • Se il file non è indicato, tratta lo standard input

Ilcomando grep viene in tre varianti:

  • egrep – riconosce più espressioni, ha meno velocità
  • fgrep – meno espressioni, più velocità
  • grep – medio espressioni e velocità

Opzioni principali:

  • -v – inverte ricerca: linee non contenenti espress.
  • -c – conta solo le linee trovate
  • -f file – legge le espressioni regolari dal file
  • -n – mostra i numeri di linea
  • -i – ignora se maiuscole o minuscole

Il comando cut

Seleziona dal file sezioni indicate (compie una slice verticale).

Due varianti, con le opzioni -c o -f.

Taglio di colonne specificate con -c:

cut -c lista [file] – lista di caratteri

Taglio di campi specificati con -f:

cut -dc -f lista [file]
  • I campi sono delimitati dal carattere c (default: tab)
  • Non ci vogliono spazi tra -d e c
  • La lista può onsistere in
    • numeri separati da virgole
    • range separato da (trattino)
  • Se il file non è indicato legge da standard input

Il comando bc

Calcolatrice da linea di comando.

  • Precisione infinita (limitata da risorse di sistema)
  • Uscire con ^D (control-D)

Il comando tr

Copia l'input all'output con sostituzioni o cancellazioni di singoli caratteri

Esempi:

  • cat file1 | tr ”a” ”b”
    • cambia le a in b
  • tr ”[:lower:]” ”[:upper:]” < file1
    • cambia tutte le minuscole in maiuscole
  • tr -cd ”[:print:]” < file1
    • rimuove tutti i caratteri non stampabili dal file
    • -c complementa l'azione ai caratteri non specificati
    • -d rimuovi (delete)

Per le classi di caratteri vedere Espressioni Regolari

Il comando split

Spezza un file in file più piccoli con numero di byte o di linee definito.

Esempi:

  • split -b100k achivio.tar
    • Spezza il file archivio.tar in files da 100kB ciascuno e chiama i pezzi xaa, xab, xac, ...
  • split -b99m archivio.tar archivio.
    • Spezza il file archivio.tar in files da 99MB ciascuno e chiama i pezzi archivio.aa, archivio.ab, ...
  • split -l50 testo.txt
    • Spezza il file testo.txt ogni 50 linee
  • split -l30 -
    • Spezza lo standard input ogni 30 linee