首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将脚本的输出保存到文件中?

如何将脚本的输出保存到文件中?
EN

Unix & Linux用户
提问于 2020-02-13 14:47:05
回答 2查看 605关注 0票数 0

我有以下脚本:

代码语言:javascript
复制
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的文件

但是我需要它来自动创建输出文件。

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2020-02-13 18:19:20

在文件中,将整个脚本封装在

代码语言:javascript
复制
{


} > file.txt

它将重定向{}中的所有内容。

票数 4
EN

Unix & Linux用户

发布于 2020-02-14 18:15:21

您总是可以通过例如echo Something > the-file将文件填充到文件中。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/567398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档