#!/bin/sh # @(#) tree 1.1 30/11/95 by Jordi Sanfeliu # email: mikaku@arrakis.es # # Initial version: 1.0 30/11/95 # Next version : 1.1 24/02/97 ½Éº¼¸¯ ¸µÅ©µµ Áö¿ø # Patch by : Ian Kjos, ãÀ» ¼ö ¾ø´Â µð·ºÅ丮 Áö¿ø # email: beth13@mail.utexas.edu # # Tree ´Â µð·ºÅ丮 Æ®¸®±¸Á¶¸¦ È®½ÇÈ÷(:-) ) º¸¿©ÁÝ´Ï´Ù. # # ==> 'Tree' ½ºÅ©¸³Æ®´Â ¿øÀÚÀÚÀÎ Jordi Sanfeliu ÀÇ Çã¶ôÇÏ¿¡ ¿©±â¿¡ ½Æ½À´Ï´Ù. # ==> ÀÌ ¹®¼ÀÇ ÀúÀÚ°¡ Ãß°¡ÇÑ ÁÖ¼®. # ==> ÀÎÀÚ Äõ¿ìÆà Ãß°¡. search () { for dir in `echo *` # ==> `echo *` ´Â ÇöÀç µð·ºÅ丮ÀÇ ¸ðµç ÆÄÀÏÀ» ÇÑ ÁÙ¿¡ Ç¥½ÃÇØ ÁÜ. # ==> for dir in * ¶ó°í ÇÏ´Â °Í°ú ºñ½ÁÇÔ. # ==> ÇÏÁö¸¸ "dir in `echo *`" Àº À̸§¿¡ ºó ÄÀÌ µé¾îÀÖ´Â ÆÄÀÏÀº ó¸® ¸øÇÔ. do if [ -d "$dir" ] ; then # ==> µð·ºÅ丮¶ó¸é(-d)... zz=0 # ==> µð·ºÅ丮 ±íÀ̸¦ °®°í ÀÖÀ» Àӽà º¯¼ö. while [ $zz != $deep ] # ¾ÈÂÊ ·çÇÁÀÎÁö °è¼Ó È®ÀÎ. do echo -n "| " # ==> ¼öÁ÷ ¿¬°áÀÚ¸¦ Ç¥½Ã. # ==> µé¿©¾²±â(indent)¸¦ À§ÇØ ¶óÀÎÇÇµå ¾ø´Â µÎ °³ÀÇ ºó Ä zz=`expr $zz + 1` # ==> zz Áõ°¡. done if [ -L "$dir" ] ; then # ==> µð·ºÅ丮°¡ ½Éº¼¸¯ ¸µÅ©¶ó¸é... echo "+---$dir" `ls -l $dir | sed 's/^.*'$dir' //'` # ==> ¼öÆò ¿¬°áÀÚ¿Í ±ä ¸ñ·Ï Ç¥½Ã(long linting)¿¡¼ ³¯Â¥/½Ã°£ ºÎºÐÀ» # ==> Á¦¿ÜÇÑ µð·ºÅ丮 À̸ªÀ» Ç¥½Ã. else echo "+---$dir" # ==> ¼öÆò ¿¬°áÀÚ¿Í µð·ºÅ丮 À̸§ Ç¥½Ã. if cd "$dir" ; then # ==> ÇÏÀ§ µð·ºÅ丮·Î µé¾î°¥ ¼ö ÀÖ´Ù¸é... deep=`expr $deep + 1` # ==> ±íÀÌ Áõ°¡. search # Àç±ÍÀûÀ¸·Î È£Ãâ ;-) # ==> ÀÚ±â ÀÚ½ÅÀ» ºÎ¸£´Â ÇÔ¼ö. numdirs=`expr $numdirs + 1` # ==> µð·ºÅ丮 ¼ýÀÚ¸¦ Áõ°¡. fi fi fi done cd .. # ==> ºÎ¸ð µð·ºÅ丮·Î ¿Ã¶ó°¨. if [ "$deep" ] ; then # ==> depth = 0 À̸é(TRUEÀ» ¸®ÅÏ)... swfi=1 # ==> Ž»öÀÌ ³¡³µÀ½À» ¾Ë¸®´Â Ç÷¡±× ¼¼Æ®. fi deep=`expr $deep - 1` # ==> ±íÀ̸¦ °¨¼Ò. } # - ¸ÞÀÎ - if [ $# = 0 ] ; then cd `pwd` # ==> ÀÎÀÚ¾øÀÌ ºÒ¸®¸é ÇöÀç µð·ºÅ丮¿¡¼ ½ÃÀÛ. else cd $1 # ==> ¾Æ´Ï¸é ÁÖ¾îÁø µð·ºÅ丮·Î À̵¿. fi echo "½ÃÀÛ µð·ºÅ丮 = `pwd`" swfi=0 # ==> Ž»ö Á¾·á Ç÷¡±×. deep=0 # ==> º¸¿©ÁÙ ±íÀÌ. numdirs=0 zz=0 while [ "$swfi" != 1 ] # Ç÷¡±×°¡ ¼¼Æ® ¾È µÈ µ¿¾È... do search # ==> º¯¼ö¸¦ ÃʱâÈÇÏ°í ÇÔ¼ö¸¦ ºÎ¸§. done echo "Àüü µð·ºÅ丮 ¼ö = $numdirs" exit 0 # ==> µ¶Àڵ鿡°Ô µµÀü: ÀÌ ½ºÅ©¸³Æ®°¡ Á¤È®È÷ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö ¾Ë¾Æ³» º¸¼¼¿ä.