我有一个文件,其中包含从证书文件输出中获取的来自/到目前为止的字符串,格式如下:
Jan 9 2015 Mar 2 2017
分割字符串并将其存储在数组中的最佳方法是什么?
fromDate=Jan 9 2015
toDate=Mar 2 2017
然后我想将date命令应用到
date $fromDate +%Y-%m-%d && date $toDate +%Y-%m-%d
我会使用第三个空格作为分隔符还是有更好的方法来做到这一点?
答案 0 :(得分:3)
没有涉及阵列。
你可以读取由空格分隔的六个东西,然后通过双重变量将它们组合在一起:
#! /bin/bash
while read m1 d1 y1 m2 d2 y2 ; do
date -d "$m1 $d1 $y1" +%Y-%m-%d
date -d "$m2 $d2 $y2" +%Y-%m-%d
done < <(echo Jan 9 2015 Mar 2 2017)
将最终<(echo ...)
替换为实际输入。