martedì 18 dicembre 2012

Bash shell: trim di una stringa

Salve,
torno a scrivere qualcosina dopo mesi di inattività.. :)
Non ho scritto più nulla sia perchè non ho avuto granchè da scrivere..sia (e soprattutto) per mancanza di voglia :P

Beh, mi sono trovato a dover estrapolare una parola dall'output di un programma in bash.
La parola che mi serviva appariva sempre alla prima linea, quindi con head non ho avuto nessun problema.
Il problema è stato pulire la stringa risultante. Inizialmente credevo che non ci fosse nulla di più semplice, dopotutto dovevo solo fare un trim.

Trovare la soluzione non è stato così difficile, basta usare il comando sed (che ho scoperto in questa occasione) con un'espressione regolare, ma mi aspettavo qualcosa di molto più diretto :)

Per eseguire il trim di una stringa c'è bisogno di utilizzare sed sia per pulire l'inizio che la fine di essa.
Per pulire la parte iniziale il comando da utilizzare è questo:


$ sed 's/^ *//g'

Mentre per pulire la coda della stringa:


$ sed 's/ *$//g'


I comandi devono essere chiamati successivamente in pipe, per esempio in questo modo:


$ echo "  aaaa   bbbb      " | sed 's/^ *//g' | sed 's/ *$//g'
aaaa   bbbb



E così si conclude questo post, pieno di chiacchiere per dire una cosa semplicissima :)

Nessun commento:

Posta un commento