J'ai une date comme 12/12/2013 14:32
Je veux le convertir en seulement 12/12/2013
. La chaîne peut être 1/1/2013 12:32
ou 1/10/2013 23:41
Je n'ai besoin que de la partie date.
Vous pouvez le faire facilement avec une variété d'outils 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
$ echo "12/12/2013 14:32" | awk '{print $1}'
12/12/2013
print $1
-> Imprime la première colonne de la chaîne fournie. 12/12/2013
print $2
-> Imprime la deuxième colonne de la chaîne fournie. 14:32
Par défaut, awk traite le caractère espace comme le délimiteur.
Si votre chaîne de date est stockée dans une variable, vous n'avez pas besoin d'exécuter un programme externe comme cut
, awk
ou sed
, car les shells modernes comme bash
peut effectuer manipulation de chaîne directement ce qui est plus efficace.
Par exemple, dans bash:
$ s="1/10/2013 23:41"
$ echo "${s% *}"
1/10/2013