次の形式のエントリがあり、cat:ratそれらを bash の個別の変数に割り当てたいと考えています。現在、次の方法でこれを行うことができます:
A=$(echo $PAIR | tr ':' '\n' | head -n1)
B=$(echo $PAIR | tr ':' '\n' | tail -n1)
その後、$Aと$Bはそれぞれ猫とネズミです。エコー、2 つのパイプとすべてがやり過ぎのように感じます。これを行うためのはるかに簡単な方法がありませんか?
readコマンドの使用
entry=cat:rat
IFS=: read A B <<< "$entry"
echo $A # => cat
echo $B # => rat
animal="cat:rat"
A=echo ${animal} | cut -d ":" -f1
B=echo ${animal} | cut -d ":" -f2
最善の解決策ではないかもしれません。可能な解決策を提供するだけです