脚本问题

时间:2011-05-11 09:00:16

标签: shell unix ksh

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

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

它很好地执行vey而不花太多时间并立即给我输出文件。

但是当我将它包含在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字节的文件。 我可以知道这里有什么问题吗?

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:0)

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

的链接