40

我有一个日期,因为12/12/2013 14:32我想将其转换为 only 12/12/2013. 字符串可以是1/1/2013 12:32或者1/10/2013 23:41我只需要日期部分。

4

3 回答 3

72

您可以使用各种 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
于 2013-02-22T12:48:08.673 回答
15
$ echo "12/12/2013 14:32" | awk '{print $1}'
12/12/2013

print $1--> 打印提供的字符串的第一列。 12/12/2013

print $2--> 打印提供的字符串的第二列。 14:32

默认情况下,awk 将空格字符视为分隔符。

于 2013-02-22T15:26:18.613 回答
4

如果您的日期字符串存储在变量中,那么您不需要运行外部程序,如cut, awkor sed,因为现代 shellbash可以直接执行字符串操作,效率更高。

例如,在 bash 中:

$ s="1/10/2013 23:41"
$ echo "${s% *}"
1/10/2013
于 2013-02-22T13:28:29.947 回答