Search code examples
linuxpostgresqlshellenterprisedb

shell script has been retrieving from edbplus sql results with echo outputs


I am trying to call edbplus to count a table from a command-line linux shell script, but I have been retrieving from edbplus the response number with others outputs in the same response, I am trying to retrieve from it only an integer response number.

#!/bin/sh

COUNT=`./edbplus.sh -silent user/password@localhost:5444/mydb<<-EOF
SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFF
SELECT COUNT(ID) FROM MYTABLE
EXIT;
EOF`

echo $COUNT

Response:

$ echo $COUNT
6-------------------d always takes 2 parameters: variable_name value

Do you know how get only the integer number?


Solution

  • If the 1st value is going to be integer. Please try the below commands

    echo $COUNT | cut -d - -f 1

    (or)

    if only one int value if required, then please try

    echo $COUNT | cut -c 1

    To solve it from EDB perspective:

    If the below flags are used in EDB in single line, then the above issue would have caused.

    SET PAGESIZE 0 
    SET FEEDBACK OFF 
    SET VERIFY OFF 
    SET HEADING OFF 
    SET ECHO OFF 
    

    Kindly update it as above and provide it in individual lines.