首页 > 解决方案 > 如何使用 .txt 中的日期列表作为 shell 脚本的输入?

问题描述

我正在尝试从 .nc 文件中提取日期,并且我想编写一个脚本来使用 .txt 文件来自动化该过程,数据如下所示:

1995 04 05  
1995 06 12  
1995 06 30  
1995 07 16  
1995 07 19  
1995 07 20  
1995 07 28  
1996 03 09  
1996 04 25  
1996 08 13  

我想分别为年、月和日分配一个变量,例如,这样它将每行的日期作为输入,如下所示:

cdo seltimestep,$DD "mon_$MM.nc" "/Desktop/2020/output/$YYYY-$MM-$DD.nc"

我之前制作了一个与此类似的脚本,但我必须手动输入每个日期。

标签: linuxbashshellshcdo-climate

解决方案


您可以逐行读取输入文件,然后使用 bash 数组拆分日期。

#!/bin/bash

while read -r line; do
  dateArray=( $line )
  echo "YYYY: ${dateArray[0]}, MM: ${dateArray[1]}, DD: ${dateArray[2]}"
done < input.file

推荐阅读