0

スペース区切りのファイルがあります:

Pool    Library Name    Email   Subject
Finland lib1    Guru    guru@abc.com,Narendra@abc.com   Finland Media Rotation
Tucson  lib2    Albert  abc@def.com Tucson Media Rotation
Vancouver   lib3    Jeff    ghi@abc.com Vancouver Media Rotation

列を次のような配列に解析したい:

declare -a Pool=(Finland Tucson Vancouver)
declare -a Library=(lib1 lib2 lib3)
declare -a Name=(Guru Albert Jeff)
declare -a Email=("guru@abc.com,Narendra@abc.com" abc@def.com ghi@abc.com) 

私のコードは次のとおりです。

column=1
for arrayname in Pool Library; do
     mapfile -t "$arrayname" < <(awk "NR > 1 {print \$$column}" file.txt)
     ((column++))
done

ただし、のように複数のアイテムがある場合は失敗しEmailます。

4

1 に答える 1