(완료) c shell if 질문 있습니다.
글쓴이: se3812533 / 작성시간: 화, 2012/06/12 - 1:38오후
c shell 질문 있습니다.
아래와 같이 2 개의 파일이 있고 이 파일의 기능은 file_list 안에 라이브러리 파일들이 각각 적혀 있는데
이 파일 리스트에서 검색을 하기 위한 것입니다.
1) :find_flist 파일 내용
#!/bin/csh -f
src_find_run ./file_list.f
2) src_find_run 파일 내용
#!/bin/csh -f
foreach cell (`cat $1`)
if (egrep "and_gate" $cell) then
echo "no contents"
else
echo "file in :$cell"
endif
end
2 번 파일 내용중에 grep 으로 and_gate 라는 구문이 있는지
검색해서 검색 내용이 있으면 리턴값이 0 이라서
무슨무슨 파일에 있다 라는 메시지를 뿌려주고 싶은데
마음대로 않되네요.
도움좀 요청드려요..
Forums:
#!/bin/csh -vf foreach cell
테스트 해 보십시요
실행이 않되네요/.
우선 제가 이해한 바로는
egrep 의 실행 결과를 null device 로 사라지게 한후
$? sh Status of previous command
가 검색해보니 이전 커맨드의 살태라 하네요,.
그럼 이전 커맨드의 리턴값이 1 일때 와 아닐때로 구분한다
인것 같습니다.
그런데 실행해보면
변수 구문 이라고 에러가 뜨고
에러가 뜨는 부분은
if ("1" == "$?") then
이 부분이네요.
머신의 종류에 따라
이 표현이 먹지 않는 건지요 ?
결국은 해결
1) :find_flist 파일 내용
#!/bin/csh -f
src_find_run ./file_list.f > f_search_result
src_find_run ./file_list.f >> f_search_result
gvim f_search_result&
2) src_find_run 파일 내용
#!/bin/csh -f
foreach cell (`cat $1`)
if ( {egrep and_gate $cell > /dev/null } ) then
echo " file is --> $cell"
else
echo "no contents"
endif
end
죄송 ㅠㅠ 안쓰던 csh 이라
죄송 ㅠㅠ
안쓰던 csh 이라 햇갈렸네요...
인터넷에 찿아보니 $? 이 아니고 $status 이네요.
였습니다.
사고쳤네...ㅠㅠ
댓글 달기