(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
´ÙÀ½Àº ¹®ÀÚ¿ $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" ¿Í °°ÀÌ ¾²´Â ÆíÀÌ ÁÁ´Ù.
-lt (<)
-gt (>)
-le (<=)
-ge (>=)
-eq (==)
-ne (!=)
C ¾ð¾î¸¦ »ç¿ëÇÏ´Â »ç¶÷À̶ó¸é À̰ÍÀÌ ¹«½¼ ÀǹÌÀÎÁö ÇÑ´«¿¡ ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×·¸Áö ¾Ê´õ¶óµµ ÀÌ ±ÛÀ» ÀÐÀ» Á¤µµÀÇ »ç¶÷À̶ó¸é ºÐ¸í ¹«½¼ ¸»ÀÎÁö ¾Ë°í ÀÖÀ» Å×´Ï ³Ñ¾î°¡ÀÚ. ^^
ÀÌ ºÎºÐÀº ŰÁî°¡ ³»¿ëÀ» ¼öÁ¤ÇÏ¿© ´Ù½Ã ½á ÁÖ¾ú´Ù.
ÀÌ °÷ÀÇ ¸î¸î ¸í·ÉÀº ´ëºÎºÐ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡ Æ÷ÇԵǾî ÀÖ´Â °ÍÀÌ´Ù. ¹°·Ð ¿©±â ³ª¿À´Â ¼³¸íÀº Á¤¸» ´«¹°³ª°Ô °£´ÜÇÑ °ÍÀ̹ǷÎ, ÀÌ¿Í °°Àº ¸í·É¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº ¸Ç ÆäÀÌÁö¸¦ Âü°íÇÏÀÚ.
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)