(완료) c shell if 질문 있습니다.

se3812533의 이미지


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 이라서
무슨무슨 파일에 있다 라는 메시지를 뿌려주고 싶은데
마음대로 않되네요.

도움좀 요청드려요..

doodoo의 이미지

#!/bin/csh -f
 
foreach cell (`cat $1`)
 
        egrep "and_gate" $cell > /dev/null
        if ("1" == "$?") then
                echo "no contents"
        else
                echo "file in :$cell"
        endif
 
end

테스트 해 보십시요
익명 사용자의 이미지

우선 제가 이해한 바로는

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

doodoo의 이미지

죄송 ㅠㅠ
안쓰던 csh 이라 햇갈렸네요...
인터넷에 찿아보니 $? 이 아니고 $status 이네요.

#!/bin/csh -f
 
foreach cell (`cat $1`)
 
        egrep "and_gate" $cell > /dev/null
        if ("1" == "$status") then
                echo "no contents"
        else
                echo "file in :$cell"
        endif
 
end

였습니다.

사고쳤네...ㅠㅠ

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.