Michele Liberi software
versione 1.03, 1 settembre 2022
|
|
Michele Liberi
mail: mliberi@gmail.com
cell: 3485211456
|
liberix
- Presentazione
- Programmi scritti in linguaggio C
- espressioni regolari
- servizi TCP V4
- accesso a servizi TCP V4
- applicazioni WEB
- nuovi comandi
- comandi UNIX potenziati
- pst, gerarchia dei processi
- dut, spazio utilizzato dalle directory
- bpwd, cambio della password non interattivo
- ftime, stampa informazioni sui files
- opmsr, ricerca e sostituzione di stringhe
- match, ricerca di stringhe
- cpfl, archiviatore di files
- mvfl, rinomina una lista di files
- lnfl, collegamento di una lista di files
- rmfl, cancellazione di una lista di files
- yargs, esecuzione multipla di un comando
- ecut, estrazione dati da un file di testo
- ecomm, confronto righe di due files
- ejoin, unisce le righe di due files
- esort, ordinamento di dati
- etee, duplicazione del flusso di input
- etr, converte o cancella caratteri
- pths, ricerca di files nel PATH
- memberof, incrocio utenti e gruppi
- pol, calcolo di espressioni
- tmout, lancia un comando con un tempo limite
- NCgrep, selezione di righe basata su regole
- plisten, port listener
- sltn, interazione con un host remoto
- yar, archiviatore minimale alternativo
- cenv, print environment variables
- crittografia
- X clients
- componenti CGI
- Shell scripts
- Siti WEB
- Applicazioni Android
- Installazione
- Licenza d'uso
Il comando ecut trae spunto dal comando UNIX standard cut, ma è molto più potente.
Infatti racchiude in sé le funzionalità di:
- cat: concatenazione di files
- fromdos: eliminazione di eventuali CR prima del terminatore di riga LF
- head: selezione di un intervallo di righe all'inizio del file
- tail: selezione di un intervallo di righe alla fine del file
- cut: selezione di elementi all'interno di ogni riga
- sort: ordinamento di dati
- uniq: eliminazione di eventuali doppi
Con ecut si può fare con più semplicità ciò che spesso viene fatto con il comando awk, e molto di più!.
Nato per far fronte all'esigenza di estrarre in modo rapido informazioni da grossi files di dati, ecut è un programma estremamente versatile che trova impiego in numerose applicazioni.
ecut legge uno o più files di testo, poi esegue in sequenza le seguenti operazioni:
- taglio orizzontale: è possibile specificare (opzione -R) uno o più intervalli di righe da processare, le altre righe verranno ignorate;
- verifica sul contenuto della riga: è possibile specificare una o più condizioni combinate tra loro con operatori logici (NOT, AND, OR) che determinano se processare o ignorare la riga (opzioni -S -t -v -a -r -c -n -d);
- taglio verticale: è possibile specificare (opzione -k) una chiave di estrazione con una sintassi versatile e sofisticata;
- eliminazione delle chiavi duplicate: (opzione -u)
- applicazione di uno o più criteri di ordinamento in cascata: (opzione -o)
Il tutto in un'unica lettura ed in modo estremamente ottimizzato ed efficiente.
Esempio 1: lista dei filesystems con livello di riempimento superiore al 90%, oppure inferiore al 30%
df -k |ecut -R1, -a'$4' -n'>90' -n'<30'
Significato opzioni:
- -R1, : salta la prima riga
- -a'$4' : considera la quarta parola
- -n'>90' : procedi se la quarta parola è maggiore di 90 (test numerico)
- -n'<30' : procedi se la quarta parola è minore di 30 (test numerico)
Se aggiungo l'opzione
-o^n'$4' le righe in output verranno prodotte in ordine crescente di livello di riempimento.
Esempio 2: lista degli utenti con uid compreso tra 1000 e 1500,
ecut 1500' -k#1
Significato opzioni:
- -S: : imposta il carattere ':' come separatore di campo
- -a#3 : introduce la prima condizione sul terzo campo (uid)
- -n'!<1000' : vero se uid è maggiore o uguale a 1000
- -a#3 : introduce la seconda condizione sul terzo campo in AND
- -n'!>1500' : vero se uid è minore o uguale a 1500
- -k#1 : estrai dalla riga solo il primo campo (username)
Potrei fare mille altri esempi, ma la lettura diventerebba alquanto noiosa...
Per informazioni sulla sintassi per definire intervalli di valori o chiavi di estrazione lanciare il comando ecut -g.
Per informazioni sull'uso del comando lanciare ecut -h.