use*_*866 33 linux postgresql shell scripting awk
这应该是非常直接的,我不知道为什么我在努力.
我在shell脚本中运行以下psql命令,以便在插入数据之前查明是否已删除所有索引.
INDEXCOUNT=$(psql -p $dbPort -U enterprisedb -d main_db -c "select Count(*) from all_indexes where index_schema = 'enterprisedb';")
Run Code Online (Sandbox Code Playgroud)
此时,INDEXCOUNT等于"COUNT ------- 0"
现在,如果我回应以下行,我得到我想要的结果 -
echo $INDEXCOUNT | awk '{print $3}'
Run Code Online (Sandbox Code Playgroud)
如何$INDEXCOUNT | awk ‘{print $3}’
为变量赋值以在"IF"语句中进行检查?
例如:
RETURNCOUNT=$INDEXCOUNT | awk '{print $3}'
Run Code Online (Sandbox Code Playgroud)
nim*_*odm 55
以下在bash上正常工作:
a=$(echo '111 222 33' | awk '{print $3;}' )
echo $a # result is "33"
Run Code Online (Sandbox Code Playgroud)
另一种选择是将字符串转换为数组:
a="111 222 333"
b=($a)
echo ${b[2]} # returns 333
Run Code Online (Sandbox Code Playgroud)