关注输入文件:
AEGUEUS SA
APOLLO
ARES
ARTEMIS MO TU WE TH FR
ATHENA MO TU WE TH FR
HADES MO TU WE TH FR
AGAFYA MO TU WE TH FR
HERMES MO TU WE TH FR
HESTIA MO TU WE TH FR
POSEIDON MO TU WE TH FR
ATLAS MO TU WE TH FR
AURA MO TU WE TH FR
EOS MO TU WE TH FR
UBON MO TU WE TH FR
PERSES MO TU WE TH FR
PALLAS MO TU WE TH FR
STYX
UDOM SA
LETO MO TU WE TH FR
SELENE MO TU WE TH FR
ASTERIA MO WE FR SU
OCEANUS MO TU WE TH FR
CRONUS TU SU
ACHILLES TU SU
我每个工作日都有一个变量,如果以下列与其中一个工作日匹配,则应将第一列添加到相应的变量中。
例如,应将AEGUS添加到SA。 APOLLO和ARES没有工作日,因此不会添加任何内容。 ARTEMIS应添加到MO TU WE TH FR,同样适用于ATHENA,HADES等......
所以我想到的就是"而读取线"循环到每一行的数组,然后是每个列的大小写匹配,并根据它填充变量。但我不知道如何正确地做到这一点。我已经陷入了while循环,这就是我想出来的,但我认为这是非常错误的。
while IFS=" " read -r line
do
array=($line)
for i in "${array[@]}"
do
case $i in
MO)
MO=()
MO+=("${array[1]}")
;;
TU)
TU=()
TU+=("${array[1]}")
;;
WE)
WE=()
WE+=("${array[1]}")
;;
TH)
TH=()
TH+=("${array[1]}")
;;
FR)
FR=()
FR+=("${array[1]}")
;;
SA)
SA=()
SA+=("${array[1]}")
;;
SO)
SO=()
SO+=("${array[1]}")
;;
esac
done < days.tmp
答案 0 :(得分:0)
Sheet2
答案 1 :(得分:0)
你最好一次一天地搜索问题,这样就像:
Organization
在这里,我们每次都会花一天时间来搜索当天的文件(天)。然后通过awk解析输出,因为我们只关注第一列,并且新行被添加到名称中,以便我们可以通过map文件管道输出以创建与给定日期相关联的数组。