#include "apue.h"
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#define BUFFSIZE 8192

int
main(void)
{
int i;
int fd;
int n;
char filename[255];
char filepath[500]="/home/cic/sysprog/";
char buf[BUFFSIZE];

int x=1;   //무한루프 변수


printf("만들파일 이름을 입력하시오 :");
scanf("%s",filename);
strcat(filepath,filename);
fd = open(filepath, O_RDWR | O_CREAT | O_EXCL, 0644);
close(fd);

 

while(x>0){

printf("1.내용입력\n2.입력내용 터미널로 출력\n3.종료\n==>");
scanf("%d",&i);


switch(i){

case 1:

fd = open(filepath, O_WRONLY| O_APPEND);

while((n=read(STDIN_FILENO, buf, BUFFSIZE))>0)
if(write(fd, buf, n) != n)
printf("write error\n");
if(n<0)
printf("read error\n");
close(fd);
break;


case 2 :
fd = open(filepath, O_WRONLY );


case 3:

x=-1

break;

}

}

exit(0);

}



대충 내가 이래 짜봣는데 일단 case 1은 이어쓰기로 내가 원하는 파일생성후 그안에 내용을 이어쓰는거잔아

거기에 이제 입력을 그냥 터미널에서 ./a.out으로 해서 치면되는데

만약 내가 여기 값을 맨왼쪽부터 이름,국어,수학 점수라고치면 아래처럼

a 70 80

b 50 70

c 40 60

d 50 30

이렇게 쳣어 그리고 이제 case 2에서 이 값들중 내가 원하는 값들만 터미널로 출력하고 싶거든?

예를들면 터미널에서 ./a.out 쳐서 case1로 저위에 내용처럼 쳐준후 2를 쳐주면 이제 case2가 실행되서 국어점수가 50점 이상인 것에 이름만 출력하고 싶다 이런건데

case2를 어떤식으로해줘야함?? 

txt파일에서 터미널로 어케 뽑아가주냐? 필드별로되냐??


터미널에서는 awk쓰면 txt파일꺼 걍 뽑을수잇는데 역은 안됨?