假如我有一個字串
TMP=01:02:AF:BB:30:21
最後想分解成
VAR1=01
VAR2=02
:
VAR6=21
目前止想得到幾種方式
第一種
TMP=01:02:AF:BB:30:21
VAR1=`echo $TMP | cat -d ' ' -f1`
VAR2=`echo $TMP | cat -d ' ' -f2`
其他依此類推
第二種
TMP=192.168.13.4
TMP="`echo $TMP | sed 's/:/ /g'`"
i=0
for x in $TMP;do
eval VAR$i=$x #不用陣列是因為有些shell不支援
i=$((i+1))
done
第三種
assgin_value(){
VAR1=$1
VAR2=$2
VAR3=$3
}
TMP=093-251-449
assgin_value `echo $TMP | sed 's/-/ /g'`
感覺每個方法都不是很漂亮
而類似的需求似乎很常碰到
不曉得版上的各位前輩們有沒有什麼建議可以分享
小弟在此先謝過摟~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.56.235.142
※ 編輯: eai 來自: 61.56.235.142 (01/22 01:39)
推
01/25 13:42, , 1F
01/25 13:42, 1F
討論串 (同標題文章)