linux - 将 AWK 结果分配给变量

标签 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';")

此时,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

关于linux - 将 AWK 结果分配给变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6031612/

相关文章:

linux - 同时多次运行一个shell脚本

linux - Node - 我的应用程序出了什么问题?

postgresql - hstore 单引号值

php - Laravel 5.4.* - 运行 artisan 时 ""目录不存在

c++ - 如何正确配置 Clang?

java - double 值在数据库中存储为零

sql - 在 postgresql 中按月和年对查询结果进行分组

macos - Mac `find` 与 Linux `find` 的区别

c++ - Windows ListView LVM_GETITEM iImage 始终为零

shell - 使用 awk 记录给定文件中每个单词出现的行