【发布时间】:2012-05-05 14:46:30
【问题描述】:
我有一个在 AIX ksh 中运行的脚本,如下所示:
wc dir1/* dir2/* | {awk command to rearrange output} | {grep command to filter more} > dir2/output.txt
此行的前提条件是dir2/output.txt 不存在。
问题在于 dir2/output.txt 已将其自身包含在输出中(它在数百次中发生了几次,没有问题)。 dir1 和 dir2 是 NFS 挂载的。
是不是和wc的实现有关——如果第一个参数时间长了怎么办?我认为不是,因为我尝试了以下方法:
wc `sleep 5` *.txt > out.txt
即使在这种情况下 out.txt 也不会列出自己。
最后一点,通配符在本示例中用于实际脚本中。那么如果先扩容,为什么会出现这个问题呢?
dir2/output.txt 是在什么时候实际创建的?
【问题讨论】:
标签: filesystems ksh aix wc