[utils] ÆÄÀϾÈÀÇ TAB ÅëÀÏ, expand, unexpand - ÀÛ¼ºÀÚ : san2(at)linuxchannel.net - ÀÛ¼ºÀÏ : 2003-01-27 - ³» ¿ë : ÆÄÀÏ°ü¸® -------------------------------------------- 1. expand, TAB -> SPACESÀ¸·Î º¯È¯ 2. unexpand, SPACES -> TABÀ¸·Î º¯È¯ 3. expand, unexpand Á¶ÇÕ 4. °ø½ÄÈ­(?) -------------------------------------------- 1. expand, TAB -> SPACESÀ¸·Î º¯È¯ $ expand --help »ç¿ë¹ý: expand [¿É¼Ç]... [ÆÄÀÏ]... °¢ ÆÄÀÏ ¾ÈÀÇ ÅÇÀ» ½ºÆäÀ̽º·Î º¯È¯ÇÏ°í, Ç¥ÁØ Ãâ·Â¿¡ ±â·ÏÇÕ´Ï´Ù. ÆÄÀÏÀÌ ÁÖ¾îÁöÁö ¾Ê°Å³ª - À̸é Ç¥ÁØ ÀÔ·ÂÀ» ÀнÀ´Ï´Ù. -i, --initial ºñ°ø¹é¹®ÀÚ µÚÀÇ ÅÇÀ» º¯È¯ÇÏÁö ¾Ê½À´Ï´Ù -t, --tabs=NUMBER ÅÇ Å©±â¸¦ 8ÀÌ ¾Æ´Ñ NUMBER·Î ¼³Á¤ÇÕ´Ï´Ù -t, --tabs=LIST ÅÇ À§Ä¡¸¦ ½°Ç¥·Î ºÐ¸®ÇÏ¿© ¸í½ÃÇÑ ¸ñ·ÏÀ» »ç¿ëÇÕ´Ï´Ù --help ÀÌ µµ¿ò¸»À» Ç¥½ÃÇÏ°í ³¡³À´Ï´Ù --version ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇÏ°í ³¡³À´Ï´Ù -t NUMBER³ª -t LIST ´ë½Å -NUMBER³ª -LIST°¡ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. *»ç¿ë¿¹) $ expand file.txt > file2.txt ÀÌ¿Í °°ÀÌ ¾Æ¹«·± ¿É¼ÇÀÌ ¾øÀ¸¸é ±âº»ÀûÀ¸·Î file.txt ¾ÈÀÇ ¸ðµç TABÀ» 8Ä­ÀÇ °ø¹éÀ¸·Î º¯È¯ÇÔ. file.txt ¾ÈÀÇ 8Ä­ÀÇ °ø¹éÀ» °¡Áø TABÀ» 8Ä­À¸·Î º¯È¯ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó, 6Ä­À̵ç 8Ä­ÀÌµç ¸ðµç TABÀ» ±âº»ÀûÀ¸·Î 8Ä­À¸·Î º¯È¯ÇÔ. ¸¸¾à file.txt ¾ÈÀÇ ¸ðµç TABÀ» 6Ä­ÀÇ °ø¹éÀ¸·Î ¹Ù²Ù·Á¸é, $ expand --tabs=6 file.txt > file.txt expand ¿¡¼­ --tabs=N ¿É¼ÇÀº 'TAB À» ÁöÁ¤ÇÑ ¼ö N Ä­À¸·Î °ø¹éÀ¸·Î ¸¸µé¾î¶ó' ¶ó´Â ÀǹÌ, output ¿¡ °üÇÑ ¿É¼ÇÀÓ. 2. unexpand, SPACES -> TABÀ¸·Î º¯È¯ $ unexpand --help »ç¿ë¹ý: unexpand [¿É¼Ç]... [ÆÄÀÏ]... °¢ ÆÄÀÏ ¾ÈÀÇ ½ºÆäÀ̽º¸¦ ÅÇÀ¸·Î º¯È¯ÇÏ°í, Ç¥ÁØ Ãâ·Â¿¡ ±â·ÏÇÕ´Ï´Ù. ÆÄÀÏÀÌ ÁÖ¾îÁöÁö ¾Ê°Å³ª - À̸é Ç¥ÁØ ÀÔ·ÂÀ» ÀнÀ´Ï´Ù. -a, --all Çà ½ÃÀÛ ºÎºÐÀÇ °ø¹é»Ó¸¸ ¾Æ´Ñ ¸ðµç °ø¹éÀ» º¯È¯ÇÕ´Ï´Ù -t, --tabs=NUMBER ÅÇ Å©±â¸¦ 8ÀÌ ¾Æ´Ñ NUMBER·Î ¼³Á¤ÇÕ´Ï´Ù -t, --tabs=LIST ÅÇ À§Ä¡¸¦ ½°Ç¥·Î ºÐ¸®ÇÏ¿© ¸í½ÃÇÑ ¸ñ·ÏÀ» »ç¿ëÇÕ´Ï´Ù --help ÀÌ µµ¿ò¸»À» Ç¥½ÃÇÏ°í ³¡³À´Ï´Ù --version ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇÏ°í ³¡³À´Ï´Ù -t NUMBER³ª -t LIST ´ë½Å -NUMBER³ª -LIST°¡ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. *»ç¿ë¿¹) $ unexpand -a file.txt > file2.txt file.txt ¾ÈÀÇ 8Ä­ÀÇ °ø¹éÀ» ±âº»ÀûÀ¸·Î ÇϳªÀÇ TAB(8Ä­)À¸·Î º¯È¯ÇÔ. ¸¸¾à 6Ä­ÀÇ °ø¹éÀ» ÇϳªÀÇ TAB(8Ä­)À¸·Î ¸¸µé·Á¸é, $ unexpand -a --tabs=6 file.txt > file2.txt *ÁÖÀÇ) º¯È¯µÈ TABÀº ¹«Á¶°Ç 8Ä­ÀÇ °ø¹éÀ» °¡Áü. 3. expand, unexpand Á¶ÇÕ $ expand file.txt | unexpand -a > file.txt (°°Àº ÆÄÀÏ·Î º¯È¯µÊ) ÀÌ°ÍÀº $ expand --tabs=8 file.txt | unexpand -a --tabs=8 > file.txt °ú µ¿ÀÏÇÔ. 8Ä­ÀÌ ¾Æ´Ñ 4Ä­ÀÇ °ø¹éÀ» ¸ðµÎ µ¿ÀÏÇÏ°Ô 8Ä­ÀÇ TABÀ¸·Î ¹Ù²Ù·Á¸é, $ expand --tabs=4 file.txt | unexpand -a --tabs=4 > file.txt 4. °ø½ÄÈ­(?) * file.txtÀÇ N Ä­ÀÇ °ø¹éÀ» ¸ðµÎ TAB(8Ä­)À¸·Î ÅëÀÏ expand --tabs=N file.txt | unexpand -a --tabs=N > file.txt Á¤¼ö N>1, ÀüÀÚÀÇ N°ú ÈÄÀÚÀÇ NÀ» °¡´ÉÇÑ ÅëÀÏÇϵµ·Ï ±ÇÀåÇÔ. (±âº»°ª N=8) ¸¸¾à, 'ÀüÀÚN1 > ÈÄÀÚN2' À̸é ÃÖÁ¾ÀûÀÎ °á°ú´Â 8(TAB) + (N1-N2)ÀÇ °ø¹éÀ» °¡Áü ¹Ý´ë·Î, 'ÀüÀÚN1 < ÈÄÀÚN2' À̸é N1ÀÇ °ø¹é ÇÕÀÌ N2°¡ µÇ´Â ½ÃÁ¡¿¡¼­ TABÀ¸·Î º¯È¯ÇÔ. EOF