2013-02-22 11 views

Odpowiedz

34

Można to zrobić łatwo z różnych narzędzi 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

Jeśli data ciąg jest przechowywany w zmiennej, wtedy nie trzeba uruchomić zewnętrznego programu jak cut, awk lub sed , ponieważ nowoczesne powłoki, takie jak bash, mogą wykonywać bezpośrednio, co jest bardziej wydajne.

Na przykład w 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 -> Drukuje pierwszą kolumnę dołączonego sznurka. 12/12/2013

print $2 -> Drukuje drugą kolumnę dostarczonego ciągu. 14:32

Domyślnie awk traktuje znak spacji jako ogranicznik.

Powiązane problemy