pyt*_*ver 2 unix shell awk mktime
我有以下数据的文件
# date format in file is (YYYY MM DD HH MM SS)
file_create_date file_execute_date file_name
"2017 10 10 12 24 30" , "2017 10 11 09 23 00" , LTE--cNum--T201710110923--W101114450--CHGLSMR01LEMS1--sam--4.0.csv.gz
Run Code Online (Sandbox Code Playgroud)
我想要像这样的输出
file_create_date file_execute_date difference file_name
"2017 10 10 12 20 30" , "2017 10 11 13 31 59" , "1 Day 01:11:29, "LTE--cNum--T201710110923--W101114450--CHGLSMR01LEMS1--sam--4.0.csv.gz"
Run Code Online (Sandbox Code Playgroud)
我的脚本是:
awk -F',' '{print $1 "," , $2 , (mktime($2)-mktime($1))/86400 " Day",$3}' Filename
Run Code Online (Sandbox Code Playgroud)
但mktime()回报-1.
你传递的mktime是一个包含双引号和开头和结尾空白字符的字符串.删除那些.
$ echo '"2017 10 10 12 24 30" , "2017 10 11 09 23 00"'
"2017 10 10 12 24 30" , "2017 10 11 09 23 00"
$ echo '"2017 10 10 12 24 30" , "2017 10 11 09 23 00"' | awk -F',' '{print mktime($1)}'
-1
$ echo '"2017 10 10 12 24 30" , "2017 10 11 09 23 00"' | awk -F',' '{gsub(/\s*"\s*/,""); print mktime($1)}'
1507656270
Run Code Online (Sandbox Code Playgroud)