2012-10-12 16 views
9

C'è un esempio di utilizzo del comando cut per estrarre parti di una stringa a partire da sinistra. Un esempio è dato seguito.Codice per l'estrazione dal lato destro con comando di taglio?

$ echo "abc-def-ghi-jkl" | cut -d- -f-2 
abc-def 

Come può lo stesso codice essere adattato a ottenere dal lato destro? Ho pensato di invertire le parole e applicare lo stesso metodo, ma era troppo complicato.

risposta

12

si potrebbe usare giri

echo "abc-def-ghi-jkl" | rev | cut -d- -f-2 | rev 
+0

Questo è quello che uso. Anche per 'uniq -F' poiché non supporta il salto dalla fine – sehe

6
$ echo "abc-def-ghi-jkl" | cut -d- -f3- 
ghi-jkl 

-2 tagli fino al 2 ° campo. 3- tagli dal 3 ° campo su.

+0

Cosa sarebbe il parametro -d essere se sono separati da spazi – vfclists

+0

-d \ seguito da un altro spazio (quindi lo spazio è una parte del parametro) –

+1

Questo solo funziona se sai in anticipo quanti campi conterranno ciascuna linea. – chepner

Problemi correlati