【发布时间】:2013-04-07 20:58:40
【问题描述】:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#define MAXLINE 512
main(int argc,char* argv[]){
int k;
for (k=0; k<argc; k++) {
if (k%2==0) {
if (fork()==0){
execl("/user/bin/rev","rev",argv[k],">",argv[k],NULL);
exit(1);
}
}
else
{
if (fork()==0){
execl("/usr/bin/awk","awk","-f","ouk.awk",argv[k],">",argv[k],NULL);
exit(1);
}
wait(0);
}
}
}
awk 脚本
{ for (i=NF;i>=1;i--){ if(s){s=s" "$i} else{s=$i }}{print s;s=""}}
有人能告诉我为什么这不起作用吗?我想做的是修改 文件 argv[i] 使用 awk 脚本或 rev 命令
谢谢
【问题讨论】:
-
why this does not work?请解释 -
因为它不会修改文件,如果我单独启动命令它们会起作用,但像这样它不会
-
和this question不相似