脚本问题

Vij*_*jay 3 unix shell ksh

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

awk 'BEGIN{OFS=FS=","}$3~/^353/{print}' axeM10_20110510100219_59.DAT_353 >log
Run Code Online (Sandbox Code Playgroud)

它很好地执行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
Run Code Online (Sandbox Code Playgroud)

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

dog*_*ane 5

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