Formattazione Output: Cut

Supponiamo di avere un file di testo con un elenco, una piccola tabella con campi delimitati dal carattere ':'

$ cat elenco001.txt 

406378:Sales:Itorre:Jan
031762:Marketing:Nasium:Jim
636496:Research:Ancholie:Mel
396082:Sales:Jucacion:Ed

Lavorare con i campi

Se volessimo elencare solo i valori del 1° campo:

$ cat elenco001.txt | cut -d":" -f1

406378
031762
636496
396082

Con '-d' si stabilisce un delimiter dei campi (in questo caso ':').

Con '-f' si stabilisce di elencare solo il primo campo.

E' poi possibile ordinare l'output dandolo in pasto al comando sort.

Lavorare con i Caratteri

Invece di campi possiamo ragionare in termini di caratteri; il prossimo esempio elenca i primi 8 caratteri di ogni riga:

$ cut -c1-8 elenco001.txt 

406378:S
031762:M
636496:R
396082:S

Esempio

Supponiamo di dover estrarre la fingerprint della ns. chiave gpg e voler ottenere un output come questo:

AC71 EC28 17E1 B8AC 2F85  B674 4AB3 8918 C39E 6095

Cominciamo con:

$ gpg --fingerprint c39e6095

pub   1024D/C39E6095 2006-08-17
      Key fingerprint = AC71 EC28 17E1 B8AC 2F85  B674 4AB3 8918 C39E 6095
uid                  Roberto Carraro <info@robertocarraro.com>
uid                  Roberto Carraro <roberto@robertocarraro.com>
uid                  Roberto Carraro <rob@t3ch.it>
sub   2048g/36838965 2006-08-17

Prendiamo in esame solo la 2a riga:

$ gpg --fingerprint c39e6095 | head -n 2 | tail -n 1

      Key fingerprint = AC71 EC28 17E1 B8AC 2F85  B674 4AB3 8918 C39E 6095

L''head' mi considera le prime 2 righe, poi il 'tail' mi prende l'ultima, cioè proprio la seconda che mi interessa.

Teniamo solo la parte che ci interessa, al di là dell''=':

$ gpg --fingerprint c39e6095 | head -n 2 | tail -n 1 | cut -d "=" -f 2

 AC71 EC28 17E1 B8AC 2F85  B674 4AB3 8918 C39E 6095

Infine rimuoviamo lo spazio all'inizio con 'cut -c 2-' (consideriamo solo dal 2° carattere compreso in poi):

$ gpg --fingerprint c39e6095 | head -n 2 | tail -n 1 | cut -d "=" -f 2 | cut -c 2-

AC71 EC28 17E1 B8AC 2F85  B674 4AB3 8918 C39E 6095

Tags:

Add new comment

Filtered HTML

  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <p> <h1> <h2> <h3> <h4> <h5> <div> <pre> <object>
  • You may insert videos with [video:URL]
  • Web page addresses and e-mail addresses turn into links automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
By submitting this form, you accept the Mollom privacy policy.