#!/bin/bash # "subst", ÆÄÀÏ¿¡¼ ¾î¶² ÆÐÅÏÀ» ´Ù¸¥ ÆÐÅÏÀ¸·Î ¹Ù²ãÁÖ´Â ½ºÅ©¸³Æ®. # Áï, "subst Smith Jones letter.txt". ARGS=3 E_BADARGS=65 # ÇÊ¿äÇÑ ÀÎÀÚ°¡ ºüÁ®ÀÖÀ½. if [ $# -ne "$ARGS" ] # ½ºÅ©¸³Æ®·Î ³Ñ°ÜÁø ÀÎÀÚÀÇ °¹¼ö¸¦ È®ÀÎ(Ç×»ó ÀÌ·¸°Ô Çϼ¼¿ä). then echo "»ç¿ë¹ý: `basename $0` old-pattern new-pattern filename" exit $E_BADARGS fi old_pattern=$1 new_pattern=$2 if [ -f "$3" ] then file_name=$3 else echo "\"$3\" Àº ¾ø´Â ÆÄÀÏÀÔ´Ï´Ù." exit $E_BADARGS fi # ¿©±â°¡ °¡Àå Áß¿äÇÑ ºÎºÐÀÔ´Ï´Ù. sed -e "s/$old_pattern/$new_pattern/g" $file_name # 's'´Â sedÀÇ Ä¡È¯(substitution) ¸í·É¾îÀÌ°í, # /pattern/ Àº ÁÖ¼Ò ¸ÅĪÀ» ½ÇÇà½Ãŵ´Ï´Ù. # Àü¿ª(global) Ç÷¡±×ÀÎ "g"¸¦ ¾²¸é ´ÜÁö ù¹ø° ÀÏÄ¡ÇÏ´Â $old_pattern¸¸ #+ ġȯ½ÃÅ°Áö ¾Ê°í °¢ ÁÙ¿¡¼ ÀÏÄ¡ÇÏ´Â "¸ðµç" $old_patternÀ» ġȯ½Ãŵ´Ï´Ù. # ´õ ÀÚ¼¼ÇÑ ¼³¸íÀº 'sed' ¹®¼¸¦ Àо¼¼¿ä. exit 0 # ½ºÅ©¸³Æ®ÀÇ ½ÇÇàÀÌ ¼º°øÀ̶ó¸é 0À» ¸®ÅÏ.