11. Tables

11.1. ¹®ÀÚ¿­ ºñ±³ ¿¬»êÀÚ

(1) s1 = s2

(2) s1 != s2

(3) s1 < s2

(4) s1 > s2

(5) -n s1

(6) -z s1

Áö±Ý ¼³¸íÇÏ´Â ³»¿ëÀº ¹®ÀÚ¿­À» ºñ±³ÇÏ´Â ¿¬»êÀÚÀÌ´Ù. ÀÌ ¿¬»êÀÚ¸¦ ¹®Àå Çü´ë·Î ¹Ù²Ù¸é ´ÙÀ½°ú °°´Ù.

(1) s1 matches s2

(2) s1 does not match s2

(3) __TO-DO__

(4) __TO-DO__

(5) s1 is not null (contains one or more characters)

(6) s1 is null

11.2. ¹®ÀÚ¿­ ºñ±³ÀÇ ¿¹Á¦

´ÙÀ½Àº ¹®ÀÚ¿­ $S1°ú $S2¸¦ ºñ±³ÇÏ´Â ¿¹Á¦ÀÌ´Ù.
 
#!/bin/bash 
S1='string' 
S2='String' 
if [ $S1=$S2 ]; 
then 
echo "S1('$S1') is not equal to S2('$S2')" 
fi 
if [ $S1=$S1 ]; 
then 
echo "S1('$S1') is equal to S1('$S1')" 
fi 
º¸ÅëÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼­ »ç¿ëÇÏ´Â ¹æ¹ý°ú ¾ÆÁÖ ºñ½ÁÇÏ´Ù.

ÀÌ ºÎºÐ¿¡ ´ëÇØ¼­´Â ¾Èµå·¹ º£Å©ÀÇ ¸ÞÀÏÀ» Âü°íÇÏ¿´´Ù.

À̰ÍÀº »ó´çÈ÷ ÁÁÀº ¹æ¹ýÀÌ´Ù. $S1À̳ª $S2 µÑ Áß Çϳª¶óµµ ºñ¾î ÀÖÀ» ¶§¿¡´Â ¿¡·¯°¡ ¹ß»ýÇÒ °ÍÀÌ´Ù. x$1=x$2 À̳ª "$1"="$2" ¿Í °°ÀÌ ¾²´Â ÆíÀÌ ÁÁ´Ù.

11.3. »ê¼ú ¿¬»êÀÚ

+

-

*

/

% (remainder)

11.4. »ê¼ú °ü°è ¿¬»êÀÚ

-lt (<)

-gt (>)

-le (<=)

-ge (>=)

-eq (==)

-ne (!=)

C ¾ð¾î¸¦ »ç¿ëÇÏ´Â »ç¶÷À̶ó¸é À̰ÍÀÌ ¹«½¼ ÀǹÌÀÎÁö ÇÑ´«¿¡ ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×·¸Áö ¾Ê´õ¶óµµ ÀÌ ±ÛÀ» ÀÐÀ» Á¤µµÀÇ »ç¶÷À̶ó¸é ºÐ¸í ¹«½¼ ¸»ÀÎÁö ¾Ë°í ÀÖÀ» Å×´Ï ³Ñ¾î°¡ÀÚ. ^^

11.5. ¾µ¸ðÀÖ´Â ¸í·É

ÀÌ ºÎºÐÀº ŰÁî°¡ ³»¿ëÀ» ¼öÁ¤ÇÏ¿© ´Ù½Ã ½á ÁÖ¾ú´Ù.

ÀÌ °÷ÀÇ ¸î¸î ¸í·ÉÀº ´ëºÎºÐ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡ Æ÷ÇԵǾî ÀÖ´Â °ÍÀÌ´Ù. ¹°·Ð ¿©±â ³ª¿À´Â ¼³¸íÀº Á¤¸» ´«¹°³ª°Ô °£´ÜÇÑ °ÍÀ̹ǷÎ, ÀÌ¿Í °°Àº ¸í·É¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº ¸Ç ÆäÀÌÁö¸¦ Âü°íÇÏÀÚ.

sed

sed´Â ºñ´ëÈ­Çü(non-interactive) ¸ðµåÀÇ ¶óÀÎ ÆíÁý±âÀÌ´Ù. ¶ÇÇÑ ÇÊÅ͸¦ »ç¿ëÇÒ ¼ö ÀÖ¾î ¼Ð ÇÁ·Î±×·¡¹Ö¿¡¼­ ¾ÆÁÖ Àß! »ç¿ëÇÒ ¼ö ÀÖ´Â µµ±¸ÀÌ´Ù. ¸ÕÀú °£´ÜÈ÷ ¿¹Á¦¸¦ »ìÆìº¸ÀÚ.

 
$sed 's/to_be_replaced/replaced/g' /tmp/dummy 

Sed ´Â /tmp/dummy ÆÄÀÏÀ» Àоîµé¿© 'to_be_replaced'¶ó´Â ¹®ÀÚ¿­À» 'replaced'·Î °£´ÜÈ÷ ¹Ù²ã ¹ö¸°´Ù. ÀÌ °á°ú´Â ±×³É È­¸é¿¡ Ãâ·ÂµÉ »ÓÀ̹ǷÎ, ÆÄÀÏ·Î ÀúÀåÇϱâ À§Çؼ­´Â À§ ¸í·ÉÀÇ ³¡¿¡ '> ÆÄÀÏÀ̸§'À» Ãß°¡ÇØ¾ß ÇÒ °ÍÀÌ´Ù. Àû´çÇÑ ÆÄÀÏ À̸§À» ³Ö¾î ÁÖ¸é ±× À̸§À¸·Î ÀÌ °á°ú°¡ ÀúÀåµÉ °ÍÀÌ´Ù.

 
$sed 12, 18d /tmp/dummy 

Sed ´Â ¿øº» ÆÄÀÏ¿¡¼­ 12¿¡¼­ 18ÁÙ ±îÁö¸¦ Á¦¿ÜÇÑ ¸ðµç ÁÙÀ» º¸¿©ÁØ´Ù.

awk

awk´Â C ¾ð¾î¿Í ºñ½ÁÇÑ ¹æ½ÄÀ¸·Î ÀÛµ¿ÇÏ´Â, ÅØ½ºÆ® ó¸® ¾ð¾îÀÌ´Ù. awk´Â ÆÐÅÏÀ» °Ë»öÇÏ¿© °°Àº °ÍÀ» ã¾Æ ó¸®ÇÑ´Ù´Â Á¡¿¡¼­´Â °£´ÜÇÑ ±â´ÉÀ» °¡Áø °Í ó·³ º¸ÀÌÁö¸¸, »ç½Ç ¾ÆÁÖ Á¤±³ÇÏ°Ô µ¿ÀÛÇÒ ¼ö ÀÖ´Ù.

ÀÚ, ´ÙÀ½ ÇàÀ» /tmp/dummy ÆÄÀÏ¿¡ Áý¾î³ÖÀÚ.

"test123

test

tteesstt"

 
$awk '/test/ {print}' /tmp/dummy 

test123

test

awk´Â test°¡ Æ÷ÇÔµÈ ÁÙÀ» È­¸é¿¡ Ãâ·ÂÇÏ¿´´Ù. ±×·¯³ª À̰ÍÀº awkÀÇ ±â´É Áß¿¡¼­´Â °¡Àå ´Ü¼øÇÑ ºÎºÐ¿¡ ¼ÓÇÑ´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº ´Ù¸¥ ¹®¼­¸¦ Âü°íÇϵµ·Ï Çϰí, ¿©±â¿¡¼­´Â ÇÑ °¡Áö¸¸ ´õ »ìÆì º¸°í ³Ñ¾î°¡°Ú´Ù.

 
$awk '/test/ {i=i+1} END {print i}' /tmp/dummy 

3

´Ù¾çÇÑ ÆÐÅÏÀ» °Ë»öÇϱâ À§ÇØ '-f file.awk'¿Í °°Àº ½ÄÀ¸·Î ÆÄÀÏ À̸§À» ÁöÁ¤Çϰí, ÀÌ ÆÄÀÏ ¾È¿¡ ÇÊ¿äÇÑ ÆÐÅÏÀ» ¸ðµÎ ÀÔ·ÂÇØ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.

grep

¹°·Ð grep¿¡ ´ëÇØ¼­´Â µû·Î ¼³¸íÇÒ Çʿ䰡 ¾øÀ» Áöµµ ¸ð¸£°Ú´Ù. ÇØ´çµÇ´Â ¹®ÀÚ¿­ÀÌ ÀÖ´Â ÇàÀ» ¹ÝȯÇÏ´Â grep ¸í·ÉÀº ³Î¸® ¾²À̰í ÀÖÀ¸´Ï±î. ÇÏÁö¸¸ grepÀº ´Ù¸¥ ´Ù¾çÇÑ ±â´Éµµ ¹ßÈÖÇÒ ¼ö ÀÖ´Ù.
 
$grep "look for this" /var/log/messages -c 

12

"look for this"¶ó´Â ¹®ÀåÀÌ /var/log/messages¶ó´Â ÆÄÀÏ ¾È¿¡¼­ 12¹ø ¹ß°ßµÇ¾ú´Ù´Â ¶æÀÌ´Ù.

wc

ÀÌ ¸í·ÉÀº ´Ü¾î ¼ö¸¦ ¼¼¾î ÁÖ´Â ¸í·ÉÀÌ´Ù. ¾î´À ¿Ü±¹ Ã߸® ¼Ò¼³¿¡¼­, ´Ü¾î´ç 5¼¾Æ®¸¦ ¹Þ´Â ÀÛ°¡ÀÇ À̾߱Ⱑ ³ª¿À±âµµ Çߴµ¥, Á¤¸» ¿ø°í·á¸¦ Ã¥Á¤ÇÒ ¶§ »ç¿ëÇÒ Áöµµ ¸ð¸£°Ú´Ù. ´ÙÀ½°ú °°Àº ³»¿ëÀ» dummy ÆÄÀÏ·Î ÀúÀåÇÏ°í ¸í·ÉÀ» ½ÇÇàÇØ º¸ÀÚ. "bash introduction howto test file"

 
$wc --words --lines --bytes /tmp/dummy 

2 5 34 /tmp/dummy

sort

±×·¯¸é ´ÙÀ½°ú °°Àº ³»¿ëÀÌ µé¾î ÀÖ´Â Àӽà ÆÄÀÏ /tmp/dummy¸¦ ¸¸µé¾î º¸ÀÚ.

"b

c

a"
 
$sort /tmp/dummy 

À§ ¸í·ÉÀÇ °á°ú·Î ´ÙÀ½°ú °°Àº Ãâ·ÂÀ» º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

a

b

c

¶ÇÇÑ ½±Áö¸¸Àº ¾ÊÀº ³à¼®À¸·Î bcµµ ÀÖ´Ù.

Bc´Â ¸í·É Çà¿¡¼­ »ç¿ëÇÏ´Â °è»ê±âÀÌ´Ù. ÆÄÀÏÀ̳ª Á÷Á¢ ÀԷ ȤÀº ¸®µð·º¼ÇÀ¸·Î ÀÔ·Â¹Þ¾Æ Ã³¸®ÇÑ´Ù. -q ¿É¼ÇÀ» »ç¿ëÇϸé óÀ½ ½ÃÀÛÇÒ ¶§ ³ª¿À´Â ¸Þ½ÃÁö¸¦ ¾È º¸°í ³Ñ¾î°¥ ¼ö ÀÖ´Ù.

 
$bc -q 

1 == 5

0

0.05 == 0.05

1

5 != 5

0

2 ^ 8

256

sqrt(9)

3

while (i != 9) {

i = i + 1;

print i

}

123456789

quit

tput (initialize a terminal or query terminfo database)