我在文件foo.txt
中有如下图案|eth0:9:8|eth1:7:0|
在循环中,我在每次迭代中都有一个值为eth0,eth1等的变量。
根据变量的值,Say eth0我需要值9和8 在eth1的情况下,我需要值7和0
答案 0 :(得分:0)
这样的事情应该有效。您需要的值存储在var1
和var2
此处。
TO_PARSE="|eth0:9:8|eth1:7:0|"
declare -a eths=(eth0 eth1)
for eth in "${eths[@]}"; do
parsed=$(echo "${TO_PARSE}" | \
awk 'BEGIN{FS=":"; RS="|"}{print $1 " " $2 " " $3}' | \
grep "${eth}")
var1=$(echo "${parsed}" | cut -f2 -d' ')
var2=$(echo "${parsed}" | cut -f3 -d' ')
echo "eth=${eth} var1=${var1} var2=${var2}"
done