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.