スペース区切りのファイルがあります:
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
ます。