2012-10-12 88 views
9

Hay una muestra del uso del comando cut para extraer partes de una cadena comenzando desde la izquierda. Un ejemplo se da a continuación.¿Código para extraer desde el lado derecho con comando de corte?

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

¿Cómo se puede adaptar el mismo código a la extracción desde el lado derecho? Pensé en invertir las palabras y aplicar el mismo método, pero era demasiado complicado.

Respuesta

12

podría utilizar rev

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

Esto es lo que uso. También para 'uniq -F' ya que no admite saltos desde el final – sehe

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

-2 corta hasta el segundo campo. 3- cortes del tercer campo en.

+0

¿Cuál sería el parámetro -d ser si están separadas por espacios – vfclists

+0

-d \ seguido de otro espacio (por lo que el espacio es una parte del parámetro) –

+1

Esto sólo funciona si sabes de antemano cuántos campos contendrá cada línea. – chepner

Cuestiones relacionadas