linux - 将 AWK 结果分配给变量

这应该很简单,我不知道我为什么要为此苦苦挣扎。

我正在一个 shell 脚本中运行以下 psql 命令,以查明在插入数据之前是否已删除所有索引。

INDEXCOUNT=$(psql -p $dbPort -U enterprisedb -d main_db -c "select Count(*) from all_indexes where index_schema = 'enterprisedb';")

此时,INDEXCOUNT 等于“COUNT ------- 0”

现在,如果我回显以下行,我会得到我想要的结果 -

echo $INDEXCOUNT | awk '{print $3}'

如何分配 $INDEXCOUNT | 的值awk '{print $3}' 到一个变量以在“IF”语句中检查它?

例如:

RETURNCOUNT=$INDEXCOUNT | awk '{print $3}'

最佳答案

以下在 bash 上正常工作:

 a=$(echo '111 222 33' | awk '{print $3;}' )
 echo $a # result is "33"

另一种选择是将字符串转换为数组:

 a="111 222 333"
 b=($a)

 echo ${b[2]}  # returns 333

https://stackoverflow.com/questions/6031612/

相关文章:

c - 格式化结构时间规范

c - 如何创建新的 Linux 内核调度程序

linux - 将任何当前目录 './' 添加到 Linux 中的搜索路径

python - 如何使用 Python 获取硬盘序列号

linux - 在脚本内使用没有密码的 sudo

linux - 如何使用 mount(8) 和 fstab 注册 FUSE 文件系统类型?

linux - 在 Docker 容器中挂载 SMB/CIFS 共享

python - 这是在 Python 中运行 shell 脚本的正确方法吗?

linux - 是否可以让vim显示行号?

linux - 列出包含字符串但 *NOT* 包含另一个字符串的文件的 Unix 命令