打印文件中的值

打印文件中的值

我有两个文件 $TMP_RPT_FILE 和 $TMP_RPT_FILE1 。在$TMP_RPT_FILE - 仪表读数和$TMP_RPT_FILE1 - 仪表ID 中。我希望如果任何数据出现在这些文件中,它应该打印。我尝试过这种方式,但它不起作用。任何人都可以帮助我解决这个问题吗?

if [ -s "$TMP_RPT_FILE" || -s "$TMP_RPT_FILE1" ]
then

        if  [ -s "$TMP_RPT_FILE" ] 
        then
        print "Meters with READINGS ONLY for $RPT_DT" > $RPT_FILE
    cat $TMP_RPT_FILE | uniq >> $RPT_FILE
        fi

        if [ -s "$TMP_RPT_FILE1" ]
        then
        print "Meters with id for $RPT_DT" > $RPT_FILE
        cat $TMP_RPT_FILE1 | uniq >> $RPT_FILE
        fi
    cat $RPT_FILE | \
    $MAILCMD -s "$HOST: Meters with READINGS Only and No Profile Data for $RPT_DT" $MAILLIST
fi

答案1

不能在( ) 构造||中使用 shell 运算符。test[ ... ]

使用-o

if [ -s "$TMP_RPT_FILE" -o -s "$TMP_RPT_FILE1" ]

或分成 2 个测试。

if [ -s "$TMP_RPT_FILE" ] || [ -s "$TMP_RPT_FILE1" ]

相关内容