我有一个日期12/12/2013 14:32
我想把它转换成唯一12/12/2013
。 该字符串可以是1/1/2013 12:32
和1/10/2013 23:41
我只需要日期部分。
Answer 1:
您可以使用各种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
Answer 2:
$ echo "12/12/2013 14:32" | awk '{print $1}'
12/12/2013
print $1
- >打印所提供的字符串的第一列。 12/12/2013
print $2
- >打印所提供的字符串的第二列中。 14:32
默认情况下,AWK把空格字符作为分隔符。
Answer 3:
如果您的日期字符串被存储在一个变量,那么你就不需要像运行外部程序cut
, awk
或sed
,因为像现代shell bash
可以执行字符串操作 ,直接是更有效的。
例如,在bash:
$ s="1/10/2013 23:41"
$ echo "${s% *}"
1/10/2013
文章来源: Printing only the first field in a string