unix sed awk field cut

unix - Imprimiendo solo el primer campo en una cadena



sed awk (3)

Tengo una fecha como 12/12/2013 14:32 Quiero convertirla en solo 12/12/2013 . La cadena puede ser 1/1/2013 12:32 o 1/1/2013 12:32 Necesito solo la parte de la fecha.


Puede hacerlo fácilmente con una variedad de herramientas Unix:

$ cut -d'' '' -f1 <<< "12/12/2013 14:32" 12/12/2013 $ awk ''{print $1}'' <<< "12/12/2013 14:32" 12/12/2013 $ sed ''s/ .*//'' <<< "12/12/2013 14:32" 12/12/2013 $ grep -o "^/S/+" <<< "12/12/2013 14:32" 12/12/2013 $ perl -lane ''print $F[0]'' <<< "12/12/2013 14:32" 12/12/2013


Si su cadena de fecha se almacena en una variable, entonces no necesita ejecutar un programa externo como cut , awk o sed , porque los shells modernos como bash pueden realizar la manipulación de la cadena directamente, lo que es más eficiente.

Por ejemplo, en bash:

$ s="1/10/2013 23:41" $ echo "${s% *}" 1/10/2013


$ echo "12/12/2013 14:32" | awk ''{print $1}'' 12/12/2013

print $1 -> Imprime la primera columna de la cadena suministrada. 12/12/2013

print $2 -> Imprime la segunda columna de la cadena suministrada. 14:32

Por defecto, awk trata el carácter de espacio como el delimitador.