我需要帮助找出
case
语句未正确计算我列表中的前2个值(visitor\u id,updated)。
代码如下:
#!/usr/local/bin/bash
file="mydatasample.out";
linecount=$(wc -l <"$file" | awk '{ print $1 }')
counter=1
while IFS='' read -r column; do
case column in
visitor_id)
echo "isnull($column|| '[|]' ||";;
updated)
echo "isnull($column::text || '[|]' ||";;
*)
echo "isnull($column::text,'[null!]') || '[|]' ||";;
esac
if [ "$counter" -eq "$linecount" ]; then
echo "isnull($column::text,'[null!]')) as md5sum"
fi
((counter++))
done <"$file"
=mydatasample.out=
visitor_id
updated
visitor_1_key
visitor_1_value
visitor_2_key
visitor_2_value
得到:
isnull(visitor_id::text,'[null!]') || '[|]' ||
isnull(updated::text,'[null!]') || '[|]' ||
isnull(visitor_1_key::text,'[null!]') || '[|]' ||
isnull(visitor_1_value::text,'[null!]') || '[|]' ||
isnull(visitor_2_key::text,'[null!]') || '[|]' ||
isnull(visitor_2_value::text,'[null!]')) as md5sum
期望:
isnull(visitor_id|| '[|]' ||
isnull(updated::::text || '[|]' ||
isnull(visitor_1_key::text,'[null!]') || '[|]' ||
isnull(visitor_1_value::text,'[null!]') || '[|]' ||
isnull(visitor_2_key::text,'[null!]') || '[|]' ||
isnull(visitor_2_value::text,'[null!]')) as md5sum
因此,这是我想计算的第一(2)个值,但目前为止无法计算。谢谢你的帮助。