【问题标题】:problem in scripting脚本中的问题
【发布时间】:2011-05-11 09:00:15
【问题描述】:

当我在命令行上执行此操作时:

awk 'BEGIN{OFS=FS=","}$3~/^353/{print}' axeM10_20110510100219_59.DAT_353 >log

它执行得很好,无需花费太多时间,并立即给我输出文件。

但是当我将它包含在 shell 脚本中时:

#!/usr/bin/ksh

for i in *.DAT_353
do
awk 'BEGIN{OFS=FS=","}$3~/^353/{print}'  ${i} > ${i}_changed >/dev/null
done

exit

脚本正在生成一个 0 字节的文件。 我可以知道这里有什么问题吗?

【问题讨论】:

    标签: shell unix ksh


    【解决方案1】:

    删除>/dev/null,因为这是您的标准输出被重定向到的地方。

    【讨论】:

      【解决方案2】:

      就像 Dogbane 指出的那样, > 默认重定向标准输出。因此没有必要强行重定向它。这是更多重定向技巧的链接Standard Input and Output Redirection

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-27
        • 2013-12-23
        • 2021-04-02
        • 2015-11-21
        相关资源
        最近更新 更多