#!/bin/bash # bin-grep.sh: ÀÌÁø ÆÄÀÏ¿¡¼ ÀÏÄ¡ÇÏ´Â ¹®ÀÚ¿ ã¾Æ³»±â. # "grep"À» ÀÌÁø ÆÄÀÏ¿¡ °É±â. # "grep -a"¶ó°í Çصµ ºñ½ÁÇÕ´Ï´Ù. E_BADARGS=65 E_NOFILE=66 if [ $# -ne 2 ] then echo "»ç¿ë¹ý: `basename $0` string filename" exit $E_BADARGS fi if [ ! -f "$2" ] then echo "\"$2\" Àº Á¸ÀçÇÏÁö ¾Ê´Â ÆÄÀÏÀÔ´Ï´Ù." exit $E_NOFILE fi for word in $( strings "$2" | grep "$1" ) # "strings" ¸í·É¾î´Â ÀÌÁø ÆÄÀÏ¿¡ µé¾î ÀÖ´Â ¹®ÀÚ¿µéÀ» º¸¿©ÁÖ°í, # ±× Ãâ·ÂÀ» "grep"¿¡ ÆÄÀÌÇÁ·Î °É¾î ¿øÇÏ´Â ¹®ÀÚ¿À» ã¾Æ³À´Ï´Ù. do echo $word done # S.C. °¡ À§ÀÇ for ·çÇÁ´Â ´ÙÀ½°ú °°ÀÌ ´õ °£´ÜÇÏ°Ô ÇÒ ¼ö ÀÖ´Ù°í ÁöÀûÇØ ÁÖ¾ú½À´Ï´Ù. # strings "$2" | grep "$1" | tr -s "$IFS" '[\n*]' # "./bin-grep.sh mem /bin/ls" °°Àº ½ÄÀ¸·Î Çؼ ÀÌ ½ºÅ©¸³Æ®¸¦ ¿¬½ÀÇØ º¸¼¼¿ä. exit 0