2013-02-22 14 views

risposta

34

È possibile farlo facilmente con una varietà di strumenti 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 
1

Se la stringa data è memorizzato in una variabile, quindi non è necessario eseguire un programma esterno come cut, awk o sed , perché le moderne shell come bash possono eseguire direttamente string manipulation che è più efficiente.

Ad esempio, in bash:

$ s="1/10/2013 23:41" 
$ echo "${s% *}" 
1/10/2013 
3
$ echo "12/12/2013 14:32" | awk '{print $1}' 
12/12/2013 

print $1 -> di stampare prima colonna della stringa fornita. 12/12/2013

print $2 -> Stampa la seconda colonna della stringa fornita. 14:32

Per impostazione predefinita, awk considera lo spazio come delimitatore.

Problemi correlati