bash - How to change the date format by storing the input in a variable in unix? -


this question has answer here:

my input

./file \[10\/04\/16 01:02:03 bst\] \[06\/08\/16 05:02:08 bst\] 

i want convert \[10\/04\/16 01:02:03 bst\] apr 10 16 01:02:03

i using following code,

echo '\[10\/04\/16 01:02:03 bst\]' | awk -f'[][/: \\\\]+' 'begin{split("jan feb mar apr may jun jul aug sep oct nov dec",m,/ /)} {print m[$3+0],$2,$4,$5":"$6":"$7}' 

is possible extract result storing \[10\/04\/16 01:02:03 bst\] in variable $starttime , use in code? using 1 date. possible use 2 dates?

you can use date conversion script called script.sh:

#!/bin/bash  mydt() {    ifs='/' read -ra arr <<< "${1//[\[\]\\]}"    tz=':europe/london' date -d "${arr[1]}/${arr[0]}/${arr[2]}" '+%b %d %y %t' }  var1="$(mydt "$1")" var2="$(mydt "$2")"  echo "$var1" echo "$var2" 

then call as:

bash script.sh '\[10\/04\/16 01:02:03 bst\]' '\[06\/08\/16 05:02:08 bst\]' 

output:

apr 10 16 01:02:03 aug 06 16 05:02:08 

Comments

Popular posts from this blog

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) on project.Error occurred in starting fork -

windows - Debug iNetMgr.exe unhandle exception System.Management.Automation.CmdletInvocationException -

configurationsection - activeMq-5.13.3 setup configurations for wildfly 10.0.0 -