私は変異可能な動物を持っています。
animals=lion*tiger*elephant**cat***dog
区切り記号*で分割して配列に保存したいと思います。
Expected:
animals[0]="lion"
animals[1]="tiger"
animals[2]="elephant"
animals[3]=""
animals[4]="cat"
animals[5]=""
animals[6]=""
animals[7]="dog"
awkコマンドを使用しますが、値なしで空の文字列を保存する方法がわかりません。
echo "$(awk -F* '{ for (i = 1; i <= 8; i++) print $i }' <<< "$animals")"
結果:
lion
tiger
elephant
cat
dog
バルク:
Array=($(awk -F* '{ for (i = 1; i <= 8; i++) print $i }' <<< "$animals"))
# Null values get neglected
答え1
値がない場合をnullに置き換え、
Array=($(awk -F* '{ for (i = 2; i <= 10; i++) { if ($i==""){print "null"} else {print $i} } }' <<< "$animals"))