파일에서 값 인쇄

파일에서 값 인쇄

$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

() 구문 ||에서는 쉘 연산자를 사용할 수 없습니다.test[ ... ]

사용-o

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

또는 2개의 테스트로 분할됩니다.

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

관련 정보