LinuxParty
El problema que se nos presenta es eliminar la primera fila en una salida cualquiera, dicha salida puede ser un espacio vacío, que puede estar en dicha salida o que puede estar dicho espacio vacío incluido en un fichero o una salida realizada con pipes... así este es el ejemplo..
Si queremos eliminar la primera fila de una salida cualquiera:
$ sed -e "1d"
Así por ejemplo en:
[javier@localhost ~]$ printf "Primera\nSegundo\nTercero\n" Primera Segundo Tercero
Si queremos quitar "Primera", de la salida anterior... escribimos utilizando pipes y el comando "sed" para eliminar la salida "Primera":
[javier@localhost ~]$ printf "Primera\nSegundo\nTercero\n" | sed -e "1d"
Segundo
Tercero
Si queremos eliminar la primera línea de un fichero:
$ sed -i -e "1d" $FILE
Recuerda, que podemos eliminar filas determinadas escribiendo su posición:
printf "Primera\nSegundo\nTercero\n" | sed -e "2d" Primera Tercero
Si queremos quitar la última fila debemos usar:
$ sed -e "$ d"
A modo de ejemplo:
[javier@localhost ~]$ printf "Primera\nSegundo\nTercero\n" | sed -e "$ d"
Primera Segundo
De esta forma, podemos recuperar valores específicos conociendo su posición.
[javier@localhost ~]$ printf "1\n2\n3\n4\n" | head -n 4 | sed -e "2d" | sed -e "2d" | sed -e "2d" 1 # Sacamos la Primera línea [javier@localhost ~]$ printf "1\n2\n3\n4\n" | head -n 4 | sed -e "1d" | sed -e "3d" | sed -e "2d" 2 # Sacamos la Segunda línea [javier@localhost ~]$ printf "1\n2\n3\n4\n" | head -n 4 | sed -e "1d" | sed -e "1d" | sed -e "2d" 3 # Sacamos la Tercera línea [javier@localhost ~]$ printf "1\n2\n3\n4\n" | head -n 4 | sed -e "1d" | sed -e "1d" | sed -e "1d" 4 # Sacamos la Cuarta línea
