bash使用空格分隔符来存储数组?

时间:2016-03-12 11:37:31

标签: bash

我有一个文件,其中包含从证书文件输出中获取的来自/到目前为止的字符串,格式如下:

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 

我会使用第三个空格作为分隔符还是有更好的方法来做到这一点?

1 个答案:

答案 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 ...)替换为实际输入。