[1] 구구단 출력 
#!/bin/bash
dan=2
while [ $dan -lt 10 ]
do
echo " $dan 단"
echo "======"
num=1
while [ $num -lt 10 ]
do
answer=`expr $dan \* $num`
if [ $answer -lt 10 ]; then
answer=" $answer"
fi
echo "${dan}x${num}=${answer}"
num=`expr $num + 1`
done
dan=`expr $dan + 1`
echo ""
done
출력 :
 2 단
======
2x1= 2
2x2= 4
2x3= 6
2x4= 8
2x5=10
2x6=12
2x7=14
2x8=16
2x9=18
.....
 9 단
======
9x1= 9
9x2=18
9x3=27
9x4=36
9x5=45
9x6=54
9x7=63
9x8=72
9x9=81
[2] 구구단 출력  가로 
#!/bin/bash
echo ""
num=1
while [ $num -lt 10 ]
do
    dan=2
    while [ $dan -lt 6 ]
    do
        answer=`expr $dan \* $num`
           if [ $answer -lt 10 ]; then
               answer=" $answer"
           fi
           echo -n "${dan}x${num}=${answer}  "
           dan=`expr $dan + 1`
       done
       num=`expr $num + 1`
       echo ""
   done
      echo ""
      num=1
      while [ $num -lt 10 ]
      do
          dan=6
          while [ $dan -lt 10 ]
          do
              answer=`expr $dan \* $num`
              if [ $answer -lt 10 ]; then
                  answer=" $answer"
              fi
              echo -n "${dan}x${num}=${answer}  "
              dan=`expr $dan + 1`
          done
          num=`expr $num + 1`
          echo ""
      done
      echo ""
출력 :
2x1= 2  3x1= 3  4x1= 4  5x1= 5
2x2= 4  3x2= 6  4x2= 8  5x2=10
2x3= 6  3x3= 9  4x3=12  5x3=15
2x4= 8  3x4=12  4x4=16  5x4=20
2x5=10  3x5=15  4x5=20  5x5=25
2x6=12  3x6=18  4x6=24  5x6=30
2x7=14  3x7=21  4x7=28  5x7=35
2x8=16  3x8=24  4x8=32  5x8=40
2x9=18  3x9=27  4x9=36  5x9=45
6x1= 6  7x1= 7  8x1= 8  9x1= 9
6x2=12  7x2=14  8x2=16  9x2=18
6x3=18  7x3=21  8x3=24  9x3=27
6x4=24  7x4=28  8x4=32  9x4=36
6x5=30  7x5=35  8x5=40  9x5=45
6x6=36  7x6=42  8x6=48  9x6=54
6x7=42  7x7=49  8x7=56  9x7=63
6x8=48  7x8=56  8x8=64  9x8=72
6x9=54  7x9=63  8x9=72  9x9=81
[3] 별 출력  
   #!/bin/bash
   echo ""
   echo -n "Number : "
   read su
   echo ""
   i=1
   while [ $i -le $su ]
   do
       j=1
       while [ $j -le $i ]
       do
           echo -n "*"
           j=`expr $j + 1`
       done
       i=`expr $i + 1`
       echo ""
   done
   echo ""
출력 :
Number : 10
*
**
***
****
*****
******
*******
********
*********
**********
[4] 별 출력  
#!/bin/bash
echo ""
echo -n "Number : "
read su
echo ""
i=1
while [ $i -le $su ]
do
    j=1
    k=`expr $su - $i`
    while [ $j -le $su ]
    do
        if [ $j -le $k ]
        then
            echo -n " "
        else
            echo -n "*"
        fi
        j=`expr $j + 1`
    done
    i=`expr $i + 1`
    echo ""
done
echo ""
출력 :
Number : 10
         *
        **
       ***
      ****
     *****
    ******
   *******
  ********
 *********
**********
[5] 별 출력  
#!/bin/bash
echo ""
echo -n "Number : "
read su
echo ""
i=1
while [ $i -le $su ]
do
    j=1
    k=`expr $su - $i`
    l=`expr $su + $i - 1`
    while [ $j -le $l ]
    do
        if [ $j -le $k ]
        then
            echo -n " "
        else
            echo -n "*"
        fi
        j=`expr $j + 1`
    done
    i=`expr $i + 1`
    echo ""
done
echo ""
출력 :
Number : 10
         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************
*******************
[6] 별 출력  
#!/bin/bash
echo ""
echo -n "Number : "
read su
echo ""
i=1
while [ $i -le $su ]
do
    j=1
    k=`expr $su - $i + 1`
    while [ $j -le $k ]
    do
        echo -n "*"
        j=`expr $j + 1`
    done
    i=`expr $i + 1`
    echo ""
done
echo ""
출력 :
Number : 10
**********
*********
********
*******
******
*****
****
***
**
*
[7] 별 출력  
#!/bin/bash
echo ""
echo -n "Number : "
read su
echo ""
i=1
while [ $i -le $su ]
do
    j=1
    while [ $j -le $su ]
    do
        if [ $j -lt $i ]
        then
            echo -n " "
        else
            echo -n "*"
        fi
        j=`expr $j + 1`
    done
    i=`expr $i + 1`
    echo ""
done
echo ""
출력 :
Number : 10
**********
 *********
  ********
   *******
    ******
     *****
      ****
       ***
        **
         *
[8] 별 출력  
#!/bin/bash
echo ""
echo -n "Number : "
read su
echo ""
i=1
while [ $i -le $su ]
do
    j=1
    k=`expr $su \* 2 - $i`
    while [ $j -le $k ]
    do
        if [ $j -lt $i ]
        then
            echo -n " "
        else
            echo -n "*"
        fi
        j=`expr $j + 1`
    done
   i=`expr $i + 1`
   echo ""
done
echo ""
출력 :
Number : 10
*******************
 *****************
  ***************
   *************
    ***********
     *********
      *******
       *****
        ***
         *
[9] 별 출력  
#!/bin/bash
echo ""
echo -n "Number : "
read su
echo ""
i=1
while [ $i -le $su ]
do
    j=1
    k=`expr $su - $i`
    l=`expr $su - 1 + $i`
    while [ $j -le $l ]
    do
        if [ $j -le $k ]
        then
            echo -n " "
        else
            echo -n "*"
        fi
        j=`expr $j + 1`
    done
    i=`expr $i + 1`
    echo ""
done
i=1
while [ $i -le $su ]
do
    j=1
    k=`expr $su \* 2 - $i - 1`
    while [ $j -le $k ]
    do
        if [ $j -le $i ]
        then
            echo -n " "
        else
            echo -n "*"
        fi
        j=`expr $j + 1`
    done
    i=`expr $i + 1`
    echo ""
done
echo ""
출력 :
Number : 10
         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************
*******************
 *****************
  ***************
   *************
    ***********
     *********
      *******
       *****
        ***
         *
2009. 5. 21.
2009. 5. 20.
grep, egrep, fgrep
grep, egrep, fgrep
grep(egrep, fgrep) [option] “pattern” filename
 
-i : 대소문자 구별을 하지 않는다.
-v : pattern 을 포함하지 않는 행만 출력한다.
-n : 행번호를 출력한다.
-l : 파일명만 출력한다.
-c : 패턴과 일치하는 라인의 갯수만 보여준다.
 
grep : 강력한 패턴 매칭 템플릿을 정의하기 위해 "정규 표현식"을 사용할 수 있다.
egrep [옵션] "패턴|패턴|..." [대상파일들] : 확장된 정규 표현식을 사용하며, 찾아낼 패턴을 여러개 지정할 수 있다. '|'기호는 불린 연산자 "OR"에 해당하므로, 정해진 패턴들에 포함되는 모든 라인을 보여준다.
fgrep [옵션] 패턴 [대상파일들] : 패턴과 정확히 일치하는 것만을 찾아 준다.
 
많은 시스템 관리 명령들과 파이프(pipe)를 이용해서 사용할 수 있다. 흔히 사용하는 것은 프로세스 확인이다.
$ ps aux | grep httpd
위와 같이 현재 시스템의 프로세스중 httpd 만 검색해 낸다.
만일 pipe 를 이용하여 검색할경우 검색 패턴이 한개 이상일 경우엔 egrep을 이용하여 검색할수 있다.
$ ps aux | egrep 'httpd|mysql'
$ grep -v "^[ ^I]*$" 파일명 //공백을 제거한 파일 내용 살펴보기
$ grep -v "^#*$" 파일명 //주석을 제거한 파일 내용 살펴보기
만일 현재 디렉토리와 그 하위 디렉토리까지 grep 패턴 검색을 하고자 할땐 find 명령을 이용하면 된다.
$ find . -exec grep "pattern" {} \;
grep(egrep, fgrep) [option] “pattern” filename
-i : 대소문자 구별을 하지 않는다.
-v : pattern 을 포함하지 않는 행만 출력한다.
-n : 행번호를 출력한다.
-l : 파일명만 출력한다.
-c : 패턴과 일치하는 라인의 갯수만 보여준다.
grep : 강력한 패턴 매칭 템플릿을 정의하기 위해 "정규 표현식"을 사용할 수 있다.
egrep [옵션] "패턴|패턴|..." [대상파일들] : 확장된 정규 표현식을 사용하며, 찾아낼 패턴을 여러개 지정할 수 있다. '|'기호는 불린 연산자 "OR"에 해당하므로, 정해진 패턴들에 포함되는 모든 라인을 보여준다.
fgrep [옵션] 패턴 [대상파일들] : 패턴과 정확히 일치하는 것만을 찾아 준다.
많은 시스템 관리 명령들과 파이프(pipe)를 이용해서 사용할 수 있다. 흔히 사용하는 것은 프로세스 확인이다.
$ ps aux | grep httpd
위와 같이 현재 시스템의 프로세스중 httpd 만 검색해 낸다.
만일 pipe 를 이용하여 검색할경우 검색 패턴이 한개 이상일 경우엔 egrep을 이용하여 검색할수 있다.
$ ps aux | egrep 'httpd|mysql'
$ grep -v "^[ ^I]*$" 파일명 //공백을 제거한 파일 내용 살펴보기
$ grep -v "^#*$" 파일명 //주석을 제거한 파일 내용 살펴보기
만일 현재 디렉토리와 그 하위 디렉토리까지 grep 패턴 검색을 하고자 할땐 find 명령을 이용하면 된다.
$ find . -exec grep "pattern" {} \;
피드 구독하기:
덧글 (Atom)