- Home
- Software
- Linux
- Shell
- Manipolazione testo
Sintassi per elaborare il testo di un file e scrivere il risultato su un nuovo file
cat file_originale | [operazione: sed, grep, awk, grep, etc] > result.txt
Sintassi per elaborare il testo di un file ed appendere il risultato su un file esistente
cat file_originale | [operazione: sed, grep, awk, grep, etc] >> result.txt
Cercare la parola “Aug” all’interno del file ‘messages’
grep Aug /var/log/messages
Cercare le parole che cominciano con “Aug” all’interno del file ‘messages’
grep ^Aug /var/log/messages
Selezionare all’interno del file ‘messages tutte le righe che contengono numeri
grep [0-9] /var/log/messages
Estendere la ricerca della stringa “Aug” dentro la directory ‘/var/log’ e sottodirectory
grep Aug -R /var/log/*
Scrivere il risultato di una ricerca all’interno di un file
grep Aug /var/log/messages
Rimpiazzare la “stringa1″ con la “stringa2″ da example.txt
sed ’s/stringa1/stringa2/g’ example.txt
Rimuovere tutte le righe vuote da example.txt
sed ‘/^$/d’ example.txt
Rimuovere i commenti e le righe vuote da example.txt
sed ‘/ *#/d; /^ *$/d’ example.txt
Convertire da lower case in upper case
echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’
Elimina la prima riga dal file example.txt
sed -e ‘1d’ result.txt
Visualizza solo righe che contengono la parola “stringa1″
sed -n ‘/stringa1/p’
Rimuovi i caratteri vuoti alla fine di ogni riga
sed -e ’s/ *$//’ example.txt
Cancella solo la parola “stringa1″ da tutte le righe lasciando inalterato il resto
sed -e ’s/stringa1//g’ example.txt
Stampare dalla riga 1 alla 5
sed -n ‘1,5p;5q’ example.txt
Stampare la riga numero 5
sed -n ‘5p;5q’ example.txt
Sostituire piÙ zeri con un solo zero
sed -e ’s/00*/0/g’ example.txt
Numerare le righe di un file
cat -n file1
Rimuovi tutte le righe pari da example.txt
cat example.txt | awk ‘NR%2==1′
Stampare la prima colonna di una riga
echo a b c | awk ‘{print $1}’
Stampare la prima e la terza colonna di una riga
echo a b c | awk ‘{print $1,$3}’
Fondere il contenuto di due file per colonne
paste file1 file2
Fondere il contenuto di due file per colonne con il delimitatore ‘+’ tra apici
paste -d ‘+’ file1 file2
Ordinare i contenuti di due file
sort file1 file2
Ordinare i contenuti di due file omettendo le linee ripetute
sort file1 file2 | uniq
Ordinare i contenuti di due file stampando solo le line univoche
sort file1 file2 | uniq -u
Ordinare i contenuti di due file stampando solo le line duplicate
sort file1 file2 | uniq -d
Comparare i contenuti di due file sopprimendo soltanto le righe univoche del ‘file1′
comm -1 file1 file2
Comparare i contenuti di due file sopprimendo soltanto le righe univoche del ‘file2′
comm -2 file1 file2
Comparare i contenuti di due file sopprimendo soltanto le righe che appaiono su entrambi i file
comm -3 file1 file2