【发布时间】:2013-01-14 14:49:34
【问题描述】:
cat sun.csv 如下 “文件列表|这里是|ls -l” 我能够得到输出 但无法将其重定向到文件(即asd.csv) 如何重新定向完整的输出? 这是代码 a.sh(文件名)
#/usr/bin/ksh
awk ' BEGIN{FS="|"} {printf "\033[4m%s:\n\033[0m", $1;print $2;system($3);} ' sun.csv >> asd.csv
$./a.sh
cat asd.csv 在printf "\033[4m%s:\n\033[0m", $1;print $2; 之前输出正确,之后没有任何输出
【问题讨论】:
-
这里不能复制..
-
你能提供一些示例输入和预期输出吗?
-
more -v asd.csv工作吗? -v 保留由 \033[Xm ansi 代码 设置的颜色/等 -
问题可能出在
system($3)调用上。首先将其替换为:print "system (" $3 ");"以显示将发生的系统调用,并检查它是否存在潜在错误 -
@Olivier Dulac 是对的,我也怀疑同一个地方,但不知道该怎么做。如果我是正确的,Coz system() 将只返回 o 或 1,所以不知道如何更改它