스크립트의 출력을 파일에 어떻게 저장할 수 있나요?

스크립트의 출력을 파일에 어떻게 저장할 수 있나요?

다음 스크립트가 있습니다.


LOOKUPS=/tmp/$0.LOOKUPS.$$
OK=/tmp/$0.OK.$$
KO=/tmp/$0.KO.$$
NOVENUE=/tmp/$0.NOVENUE.$$

trap "rm -f $LOOKUPS $OK $KO $NOVENUE" 0 1 2 3 4 5 13 15

tu=`$APP_SERVICE | cut -b 9-11`
date=`date +%Y%m%d`
echo "date before change: ${date}"
H=$(date +%H)
if [[ $H -ge 0 && $H -lt 9 ]]
then
        trt_date=$(date --date 'yesterday' +'%Y%m%d')
       echo "date changed: ${date}"
else
        echo "date didnt change: ${date}"
fi

grep "^$date.*lookup .. for.*" $UTP_LOG_DIR/logs.* | awk '{print $13"_"$4" "$11" "$17"="$19" "$20"="$23}' | sed 's/\[.*\]//g' | sed -e 's/string{//g' -e 's/, / /g' -e 's/=(/=/g' -e 's/)).//g' -e 's/}//g' | sort -u > $LOOKUPS

grep " OK " $LOOKUPS | awk '{print $1" "$3" "$4}' > $OK
grep " KO " $LOOKUPS | awk '{print $1" "$3" "$4}' > $KO
grep "^$date.*Can't find a venue for" $UTP_LOG_DIR/logs.* | sed 's/-$//g' | awk '{print $NF}' | sort -u > $NOVENUE

while read line
do
        if [ $(grep "$line" $OK | wc -l) -eq 0 ]
        then
                isin=$(echo $line | cut -d'_' -f1)
                feed=$(echo $line | cut -d'_' -f2,3)
                filters=$(echo "$line" | cut -d' ' -f2-)

                echo Fail lookup for $isin in feed $feed with filters: "$filters"
        fi
done < $KO

while read line
do
        if [ $(grep "$line" $OK | wc -l) -eq 0 ]
        then
                echo Cannot find venue for $line
        fi
done < $NOVENUE

출력 파일을 생성하려면 stdout파일로 리디렉션합니다.lookup.sh > file.txt

하지만 출력 파일을 자동으로 생성하려면 필요합니다.

답변1

파일에서 전체 스크립트를 다음으로 묶습니다.

{


} > file.txt

리디렉션됩니다 {}.

답변2

echo Something > the-file예를 들어 언제든지 콘텐츠를 파일에 채울 수 있습니다 .

관련 정보