{"id":314,"date":"2024-09-23T00:00:20","date_gmt":"2024-09-23T00:00:20","guid":{"rendered":"https:\/\/www.nnt-consulting.com\/tech\/blog\/?p=314"},"modified":"2024-09-19T02:45:48","modified_gmt":"2024-09-19T02:45:48","slug":"linux-awk%eb%a1%9c-%eb%a1%9c%ea%b7%b8-%ed%8c%8c%ec%9d%bc-%eb%b6%84%ec%84%9d%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/www.nnt-consulting.com\/tech\/blog\/linux-awk%eb%a1%9c-%eb%a1%9c%ea%b7%b8-%ed%8c%8c%ec%9d%bc-%eb%b6%84%ec%84%9d%ed%95%98%ea%b8%b0\/","title":{"rendered":"Linux awk\ub85c \ub85c\uadf8 \ud30c\uc77c \ubd84\uc11d\ud558\uae30"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_83 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"\ubaa9\ucc28 \ud1a0\uae00\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.nnt-consulting.com\/tech\/blog\/linux-awk%eb%a1%9c-%eb%a1%9c%ea%b7%b8-%ed%8c%8c%ec%9d%bc-%eb%b6%84%ec%84%9d%ed%95%98%ea%b8%b0\/#%EB%93%A4%EC%96%B4%EA%B0%80%EB%A9%B0\" >\ub4e4\uc5b4\uac00\uba70<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.nnt-consulting.com\/tech\/blog\/linux-awk%eb%a1%9c-%eb%a1%9c%ea%b7%b8-%ed%8c%8c%ec%9d%bc-%eb%b6%84%ec%84%9d%ed%95%98%ea%b8%b0\/#awk%EC%97%90_%EB%8C%80%ED%95%98%EC%97%AC\" >awk\uc5d0 \ub300\ud558\uc5ec<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.nnt-consulting.com\/tech\/blog\/linux-awk%eb%a1%9c-%eb%a1%9c%ea%b7%b8-%ed%8c%8c%ec%9d%bc-%eb%b6%84%ec%84%9d%ed%95%98%ea%b8%b0\/#awk%EC%9D%98_%EC%A3%BC%EC%9A%94_%ED%8A%B9%EC%A7%95\" >awk\uc758 \uc8fc\uc694 \ud2b9\uc9d5<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.nnt-consulting.com\/tech\/blog\/linux-awk%eb%a1%9c-%eb%a1%9c%ea%b7%b8-%ed%8c%8c%ec%9d%bc-%eb%b6%84%ec%84%9d%ed%95%98%ea%b8%b0\/#awk%EC%9D%98_%EA%B8%B0%EB%B3%B8_%EA%B5%AC%EC%A1%B0\" >awk\uc758 \uae30\ubcf8 \uad6c\uc870<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.nnt-consulting.com\/tech\/blog\/linux-awk%eb%a1%9c-%eb%a1%9c%ea%b7%b8-%ed%8c%8c%ec%9d%bc-%eb%b6%84%ec%84%9d%ed%95%98%ea%b8%b0\/#awk_pattern\" >awk pattern<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.nnt-consulting.com\/tech\/blog\/linux-awk%eb%a1%9c-%eb%a1%9c%ea%b7%b8-%ed%8c%8c%ec%9d%bc-%eb%b6%84%ec%84%9d%ed%95%98%ea%b8%b0\/#awk_action\" >awk action<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.nnt-consulting.com\/tech\/blog\/linux-awk%eb%a1%9c-%eb%a1%9c%ea%b7%b8-%ed%8c%8c%ec%9d%bc-%eb%b6%84%ec%84%9d%ed%95%98%ea%b8%b0\/#awk%EC%9D%98_%ED%99%9C%EC%9A%A9\" >awk\uc758 \ud65c\uc6a9<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.nnt-consulting.com\/tech\/blog\/linux-awk%eb%a1%9c-%eb%a1%9c%ea%b7%b8-%ed%8c%8c%ec%9d%bc-%eb%b6%84%ec%84%9d%ed%95%98%ea%b8%b0\/#awk%EB%A1%9C_%EB%A1%9C%EA%B7%B8_%ED%8C%8C%EC%9D%BC_%EB%B6%84%EC%84%9D%ED%95%98%EA%B8%B0\" >awk\ub85c \ub85c\uadf8 \ud30c\uc77c \ubd84\uc11d\ud558\uae30<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.nnt-consulting.com\/tech\/blog\/linux-awk%eb%a1%9c-%eb%a1%9c%ea%b7%b8-%ed%8c%8c%ec%9d%bc-%eb%b6%84%ec%84%9d%ed%95%98%ea%b8%b0\/#%ED%95%B5%EC%8B%AC_%EB%A1%9C%EC%A7%81\" >\ud575\uc2ec \ub85c\uc9c1<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.nnt-consulting.com\/tech\/blog\/linux-awk%eb%a1%9c-%eb%a1%9c%ea%b7%b8-%ed%8c%8c%ec%9d%bc-%eb%b6%84%ec%84%9d%ed%95%98%ea%b8%b0\/#awk_%ED%95%84%EB%93%9C_%EA%B5%AC%EB%B6%84%EC%9E%90_%EC%BB%A4%EC%8A%A4%ED%84%B0%EB%A7%88%EC%9D%B4%EC%A7%95\" >awk \ud544\ub4dc \uad6c\ubd84\uc790 \ucee4\uc2a4\ud130\ub9c8\uc774\uc9d5<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.nnt-consulting.com\/tech\/blog\/linux-awk%eb%a1%9c-%eb%a1%9c%ea%b7%b8-%ed%8c%8c%ec%9d%bc-%eb%b6%84%ec%84%9d%ed%95%98%ea%b8%b0\/#awk_%EC%82%AC%EC%9A%A9%EC%9D%98_%EC%9D%B4%EC%A0%90\" >awk \uc0ac\uc6a9\uc758 \uc774\uc810<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.nnt-consulting.com\/tech\/blog\/linux-awk%eb%a1%9c-%eb%a1%9c%ea%b7%b8-%ed%8c%8c%ec%9d%bc-%eb%b6%84%ec%84%9d%ed%95%98%ea%b8%b0\/#service%EB%A5%BC_%EC%9D%B4%EC%9A%A9%ED%95%9C_%EC%8A%A4%EC%BC%80%EC%A4%84%EB%A7%81\" >service\ub97c \uc774\uc6a9\ud55c \uc2a4\ucf00\uc904\ub9c1<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.nnt-consulting.com\/tech\/blog\/linux-awk%eb%a1%9c-%eb%a1%9c%ea%b7%b8-%ed%8c%8c%ec%9d%bc-%eb%b6%84%ec%84%9d%ed%95%98%ea%b8%b0\/#%EA%B2%B0%EB%A1%A0\" >\uacb0\ub860<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%EB%93%A4%EC%96%B4%EA%B0%80%EB%A9%B0\"><\/span>\ub4e4\uc5b4\uac00\uba70<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\ubcf5\uc7a1\ud55c \ub370\uc774\ud130 \uc5d4\uc9c0\ub2c8\uc5b4\ub9c1 \ud658\uacbd\uc5d0\uc11c \ub85c\uadf8 \ubd84\uc11d\uc740 \ub2e8\uc21c\ud55c \ub514\ubc84\uae45 \ub3c4\uad6c\ub97c \ub118\uc5b4 \uc2dc\uc2a4\ud15c\uc758 \uac74\uac15 \uc0c1\ud0dc\ub97c \ubaa8\ub2c8\ud130\ub9c1\ud558\uace0 \uc131\ub2a5\uc744 \ucd5c\uc801\ud654\ud558\ub294 \ub370 \ud544\uc218\uc801\uc778 \uc694\uc18c\uac00 \ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ub370\uc774\ud130 \ud30c\uc774\ud504\ub77c\uc778, ETL \ud504\ub85c\uc138\uc2a4, \uc2e4\uc2dc\uac04 \ub370\uc774\ud130 \uc2a4\ud2b8\ub9ac\ubc0d \ub4f1 \ub2e4\uc591\ud55c \ub370\uc774\ud130 \ucc98\ub9ac \uc791\uc5c5\uc5d0\uc11c \ubc1c\uc0dd\ud558\ub294 \ub85c\uadf8\ub294 \uc2dc\uc2a4\ud15c\uc758 \ub3d9\uc791\uc744 \uc774\ud574\ud558\uace0 \ubb38\uc81c\ub97c \uc2e0\uc18d\ud558\uac8c \ud574\uacb0\ud558\ub294 \ub370 \uc911\uc694\ud55c \uc815\ubcf4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \ub370\uc774\ud130 \uc5d4\uc9c0\ub2c8\uc5b4\ub294 \uc774\ub7ec\ud55c \ub2e4\uc591\ud55c \ud615\ud0dc\uc758 \ub85c\uadf8 \ud30c\uc77c\uc744 \ud6a8\uacfc\uc801\uc73c\ub85c \ubd84\uc11d\ud558\uace0 \uad00\ub9ac\ud560 \uc218 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<p>\ub85c\uadf8 \ud30c\uc77c\uc740 \uadf8 \ud06c\uae30\uac00 \ubc29\ub300\ud558\uace0 \uad6c\uc870\uac00 \ubcf5\uc7a1\ud560 \uc218 \uc788\uc5b4\b, \uad6c\uc870\ub97c \uba85\ud655\ud788 \uc815\ud558\uace0 \ud6a8\uc728\uc801\uc73c\ub85c \ubd84\uc11d\ud558\ub294 \uac83\uc774 \uc911\uc694\ud569\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ub9e5\ub77d\uc5d0\uc11c Linux\uc758 <code>awk<\/code> \uba85\ub839\uc5b4\uac00 \uc720\uc5f0\ud55c \ub85c\uadf8 \ubd84\uc11d\uc5d0 \uc0ac\uc6a9\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <code>awk<\/code>\ub294 \ud14d\uc2a4\ud2b8 \ucc98\ub9ac\uc5d0 \ud2b9\ud654\ub41c \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4\ub85c, \ubcf5\uc7a1\ud55c \ub85c\uadf8 \ud30c\uc77c\uc5d0\uc11c \ud544\uc694\ud55c \uc815\ubcf4\ub97c \ucd94\ucd9c\ud558\uace0, \ub370\uc774\ud130\ub97c \uc7ac\uad6c\uc131\ud558\uba70, \uac04\ub2e8\ud55c \ud1b5\uacc4\ub97c \uc0dd\uc131\ud558\ub294 \ub370 \ud0c1\uc6d4\ud55c \uc131\ub2a5\uc744 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. \ud2b9\ud788 \ub300\uaddc\ubaa8 \ub85c\uadf8 \ud30c\uc77c\uc744 \ube60\ub974\uac8c \ucc98\ub9ac\ud560 \uc218 \uc788\uc5b4 \uc2e4\uc2dc\uac04 \ubaa8\ub2c8\ud130\ub9c1\uacfc \ubb38\uc81c \ud574\uacb0\uc5d0 \ud070 \ub3c4\uc6c0\uc774 \ub429\ub2c8\ub2e4.<\/p>\n<p>\ubcf8 \uae00\uc5d0\uc11c\ub294 \uc2e4\uc81c \ub370\uc774\ud130 \ucc98\ub9ac \ud30c\uc774\ud504\ub77c\uc778\uc758 \ub85c\uadf8 \ubd84\uc11d \uc0ac\ub840\ub97c \uc911\uc2ec\uc73c\ub85c, <code>awk<\/code>\ub97c \ud65c\uc6a9\ud55c \ud6a8\uc728\uc801\uc778 \ub85c\uadf8 \ubd84\uc11d \ubc0f \uad00\ub9ac \ubc29\ubc95\uc744 \uc18c\uac1c\ud558\uace0\uc790 \ud569\ub2c8\ub2e4. \ud504\ub85c\uc138\uc2a4 \uc2e4\ud589 \uc2dc\uac04 \ubd84\uc11d, \uc5d0\ub7ec \ud328\ud134 \uc2dd\ubcc4, \ub9ac\uc18c\uc2a4 \uc0ac\uc6a9\ub7c9 \ucd94\uc801 \ub4f1 \uc2dc\uc2a4\ud15c \uc131\ub2a5 \ucd5c\uc801\ud654\uc640 \ubb38\uc81c \ud574\uacb0\uc5d0 \uc9c1\uc811\uc801\uc73c\ub85c \uae30\uc5ec\ud560 \uc218 \uc788\ub294 \ub85c\uadf8 \ubd84\uc11d \uae30\ubc95\uc5d0 \ub300\ud574 \uc54c\uc544\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ub370\uc774\ud130 \uc5d4\uc9c0\ub2c8\uc5b4\ub9c1 \uad00\uc810\uc5d0\uc11c <code>awk<\/code>\ub97c \ud65c\uc6a9\ud55c \ub85c\uadf8 \ubd84\uc11d\uc740 \ub2e8\uc21c\ud55c \ud14d\uc2a4\ud2b8 \ucc98\ub9ac \uc791\uc5c5\uc774 \uc544\ub2cc, \uc2dc\uc2a4\ud15c\uc758 \uc548\uc815\uc131\uacfc \ud6a8\uc728\uc131\uc744 \ubcf4\uc7a5\ud558\ub294 \ud575\uc2ec \ud504\ub85c\uc138\uc2a4\uc785\ub2c8\ub2e4. \ub300\uaddc\ubaa8 \ub370\uc774\ud130 \ucc98\ub9ac \uc791\uc5c5\uc5d0\uc11c \ubc1c\uc0dd\ud560 \uc218 \uc788\ub294 \ubcd1\ubaa9 \ud604\uc0c1\uc744 \uc2dd\ubcc4\ud558\uace0, \uc5d0\ub7ec\uc758 \uadfc\ubcf8 \uc6d0\uc778\uc744 \uc2e0\uc18d\ud558\uac8c \ud30c\uc545\ud558\uba70, \uad81\uadf9\uc801\uc73c\ub85c\ub294 \ub370\uc774\ud130 \ud30c\uc774\ud504\ub77c\uc778\uc758 \uc804\ubc18\uc801\uc778 \uc131\ub2a5\uc744 \ud5a5\uc0c1\uc2dc\ud0a4\ub294 \uac83\uc774 \uc6b0\ub9ac\uc758 \ubaa9\ud45c\uc785\ub2c8\ub2e4. \ub370\uc774\ud130 \uc5d4\uc9c0\ub2c8\uc5b4\uac00 \uc5b4\ub5bb\uac8c <code>awk<\/code>\ub97c \ud65c\uc6a9\ud558\uc5ec \ub354 \ud6a8\uc728\uc801\uc774\uace0 \uc548\uc815\uc801\uc778 \ub370\uc774\ud130 \ucc98\ub9ac \ud658\uacbd\uc744 \uad6c\ucd95\ud560 \uc218 \uc788\ub294\uc9c0 \ud568\uaed8 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"awk%EC%97%90_%EB%8C%80%ED%95%98%EC%97%AC\"><\/span>awk\uc5d0 \ub300\ud558\uc5ec<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><code>awk<\/code>\ub294 Unix \uacc4\uc5f4 \uc6b4\uc601 \uccb4\uc81c\uc5d0\uc11c \uc0ac\uc6a9\ub418\ub294 \ud14d\uc2a4\ud2b8 \ucc98\ub9ac \ub3c4\uad6c\uc785\ub2c8\ub2e4. \ub2e4\ub978 \uba85\ub839\uc5b4\ub4e4\uacfc \ub2e4\ub974\uac8c <code>awk<\/code>\uc758 \uc774\ub984\uc740 \uac1c\ubc1c\uc790\ub4e4\uc758 \uc774\ub984 \uccab \uae00\uc790\ub97c \ub530\uc11c \uc9c0\uc5b4\uc84c\uc2b5\ub2c8\ub2e4: Alfred Aho, Peter Weinberger, Brian Kernighan. \uadf8\ub798\uc11c \uba85\ub839\uc5b4 \uc774\ub984\ub9cc\uc73c\ub85c \uae30\ub2a5\uc744 \ucd94\ub860\ud558\uae30 \uc5b4\ub835\ub2e4\ub294 \ud2b9\uc9d5\uc774 \uc788\uc2b5\ub2c8\ub2e4. 1977\ub144\uc5d0 \ucc98\uc74c \uac1c\ubc1c\ub41c \uc774\ud6c4, <code>awk<\/code>\ub294 \ub370\uc774\ud130 \ucd94\ucd9c\uacfc \ubcf4\uace0\uc11c \uc0dd\uc131\uc744 \uc704\ud55c \ud45c\uc900 \ub3c4\uad6c\ub85c \uc790\ub9ac\uc7a1\uc558\uc2b5\ub2c8\ub2e4.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"awk%EC%9D%98_%EC%A3%BC%EC%9A%94_%ED%8A%B9%EC%A7%95\"><\/span><span class=\"token\">awk\uc758 \uc8fc\uc694 \ud2b9\uc9d5<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span class=\"token\">1.<\/span> <strong><span class=\"token\">\ud328\ud134 \ub9e4\uce6d<\/span><\/strong>: <code>awk<\/code>\ub294 \ud14d\uc2a4\ud2b8\uc5d0\uc11c \ud2b9\uc815 \ud328\ud134\uc744 \ucc3e\uc544 \ucc98\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><span class=\"token\">2.<\/span> <strong><span class=\"token\">\ud544\ub4dc \ucc98\ub9ac<\/span><\/strong>: \ud14d\uc2a4\ud2b8\ub97c \ud544\ub4dc(\uc5f4)\ub85c \ub098\ub204\uc5b4 \uac01 \ud544\ub4dc\ub97c \uac1c\ubcc4\uc801\uc73c\ub85c \ucc98\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><span class=\"token\">3.<\/span> <span class=\"token\"><strong>\ud504\ub85c\uadf8\ub798\ubc0d \uae30\ub2a5<\/strong>:<\/span>\u00a0\ubcc0\uc218, \ud568\uc218, \uc870\uac74\ubb38 \ub4f1\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc5b4 \ubcf5\uc7a1\ud55c \ucc98\ub9ac\ub3c4 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/p>\n<p><span class=\"token\">4.<\/span> <strong><span class=\"token\">\ub0b4\uc7a5 \ud568\uc218<\/span><\/strong>: \ubb38\uc790\uc5f4 \uc870\uc791, \uc218\ud559 \uc5f0\uc0b0 \ub4f1\uc744 \uc704\ud55c \ub2e4\uc591\ud55c \ub0b4\uc7a5 \ud568\uc218\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"awk%EC%9D%98_%EA%B8%B0%EB%B3%B8_%EA%B5%AC%EC%A1%B0\"><\/span><span class=\"token\">awk\uc758 \uae30\ubcf8 \uad6c\uc870<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><code>awk<\/code> \uba85\ub839\uc5b4\uc758 \uae30\ubcf8 \uad6c\uc870\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4:<\/p>\n<pre><span class=\"token code code-block\">awk 'pattern { action }' filename<\/span><\/pre>\n<ul>\n<li><span class=\"token code\"><code>pattern<\/code><\/span>: \ucc98\ub9ac\ud560 \ub77c\uc778\uc744 \uc120\ud0dd\ud558\ub294 \uc870\uac74\uc785\ub2c8\ub2e4.<\/li>\n<li><span class=\"token code\"><code>action<\/code><\/span>: \uc120\ud0dd\ub41c \ub77c\uc778\uc5d0 \ub300\ud574 \uc218\ud589\ud560 \ub3d9\uc791\uc785\ub2c8\ub2e4.<\/li>\n<li><span class=\"token code\"><code>filename<\/code><\/span>: \ucc98\ub9ac\ud560 \ud30c\uc77c\uc758 \uc774\ub984\uc785\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h4><span class=\"ez-toc-section\" id=\"awk_pattern\"><\/span>awk pattern<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>pattern\uc740 <code>awk<\/code>\uac00 \ucc98\ub9ac\ud560 \uc785\ub825 \ub77c\uc778\uc744 \uc120\ud0dd\ud558\ub294 \uc870\uac74\uc785\ub2c8\ub2e4. pattern\uc774 \ucc38(true)\uc73c\ub85c \ud3c9\uac00\ub418\ub294 \ub77c\uc778\uc5d0 \ub300\ud574\uc11c\ub9cc action\uc774 \uc218\ud589\ub429\ub2c8\ub2e4.<\/p>\n<p>\uc8fc\uc694 pattern \uc720\ud615:<\/p>\n<ul>\n<li>\/\uc815\uaddc\ud45c\ud604\uc2dd\/: \uc815\uaddc\ud45c\ud604\uc2dd\uacfc \uc77c\uce58\ud558\ub294 \ub77c\uc778 \uc120\ud0dd<\/li>\n<li>\uad00\uacc4\ud45c\ud604\uc2dd: \uc608\ub97c \ub4e4\uc5b4, <code>$1 &gt; 100<\/code>\uc740 \uccab \ubc88\uc9f8 \ud544\ub4dc \uac12\uc774 100\ubcf4\ub2e4 \ud070 \ub77c\uc778 \uc120\ud0dd<\/li>\n<li><code>BEGIN<\/code>: \uc785\ub825 \ucc98\ub9ac \uc804\uc5d0 \uc2e4\ud589\ub420 action \uc9c0\uc815<\/li>\n<li><code>END<\/code>: \ubaa8\ub4e0 \uc785\ub825 \ucc98\ub9ac \ud6c4 \uc2e4\ud589\ub420 action \uc9c0\uc815<\/li>\n<\/ul>\n<p><strong>pattern \uc608\uc2dc<\/strong>:<\/p>\n<pre><span class=\"token code code-block\">awk '\/error\/' file.log\u00a0 \u00a0# 'error'\ub97c \ud3ec\ud568\ud55c \ub77c\uc778 \uc120\ud0dd <\/span>\r\nawk '$5 == 404' access.log\u00a0 \u00a0# HTTP \uc0c1\ud0dc \ucf54\ub4dc\uac00 404\uc778 \ub77c\uc778 \uc120\ud0dd \r\n<span class=\"token code code-block\">awk 'BEGIN { print \"Start of report\" }'\u00a0 \u00a0# \ucc98\ub9ac \uc2dc\uc791 \uc804 \uba54\uc2dc\uc9c0 \ucd9c\ub825<\/span><\/pre>\n<h4><span class=\"ez-toc-section\" id=\"awk_action\"><\/span>awk action<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Action\uc740 \uc120\ud0dd\ub41c \ub77c\uc778\uc5d0 \ub300\ud574 \uc218\ud589\ud560 \uc791\uc5c5\uc744 \uc815\uc758\ud569\ub2c8\ub2e4. \uc911\uad04\ud638 {} \uc548\uc5d0 \ud558\ub098 \uc774\uc0c1\uc758 \uba85\ub839\ubb38\uc73c\ub85c \uad6c\uc131\ub429\ub2c8\ub2e4.<\/p>\n<p><strong>\uc8fc\uc694 action \uc694\uc18c<\/strong>:<\/p>\n<ul>\n<li>print, printf: \uacb0\uacfc \ucd9c\ub825<\/li>\n<li>\ubcc0\uc218 \ud560\ub2f9: \ub370\uc774\ud130 \uc800\uc7a5 \ubc0f \uc870\uc791<\/li>\n<li>\uc870\uac74\ubb38 (if, else): \uc870\uac74\uc5d0 \ub530\ub978 \ucc98\ub9ac<\/li>\n<li>\ubc18\ubcf5\ubb38 (for, while): \ubc18\ubcf5 \uc791\uc5c5 \uc218\ud589<\/li>\n<li>\ub0b4\uc7a5 \ud568\uc218 \uc0ac\uc6a9: \ubb38\uc790\uc5f4 \ucc98\ub9ac, \uc218\ud559 \uc5f0\uc0b0 \ub4f1<\/li>\n<\/ul>\n<p><strong>Action \uc608\uc2dc<\/strong>:<\/p>\n<pre><span class=\"token code code-block\">awk '{ print $1, $3 }' file.txt   # \uccab \ubc88\uc9f8\uc640 \uc138 \ubc88\uc9f8 \ud544\ub4dc \ucd9c\ub825<\/span>\r\n\r\nawk '{ sum += $1 } END { print sum }' data.txt   # \uccab \ubc88\uc9f8 \ud544\ub4dc\uc758 \ud569\uacc4 \uacc4\uc0b0 \r\n\r\n<span class=\"token code code-block\">awk '{ if($3 &gt; 1000) print $0 }' sales.txt   # \uc138 \ubc88\uc9f8 \ud544\ub4dc\uac00 1000 \ucd08\uacfc\uc778 \ub77c\uc778 \uc804\uccb4 \ucd9c\ub825<\/span><\/pre>\n<p>pattern\uacfc action\uc744 \uc870\ud569\ud558\uba74 \ubcf5\uc7a1\ud55c \ub370\uc774\ud130 \ucc98\ub9ac \uc791\uc5c5\uc744 \uac04\uacb0\ud558\uac8c \ud45c\ud604\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4:<\/p>\n<pre><span class=\"token code code-block\">awk '$4 ~ \/^4[0-9]{2}\/ { errors++ } END { print \"Total HTTP 4xx errors:\", errors }' access.log<\/span><\/pre>\n<p>\uc774 \uba85\ub839\uc740 HTTP 4xx \uc5d0\ub7ec\uc758 \ucd1d \uac1c\uc218\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4. \ub124 \ubc88\uc9f8 \ud544\ub4dc($4)\uac00 4\ub85c \uc2dc\uc791\ud558\ub294 3\uc790\ub9ac \uc22b\uc790\uc640 \uc77c\uce58\ud558\ub294 \uacbd\uc6b0 errors \ubcc0\uc218\ub97c \uc99d\uac00\uc2dc\ud0a4\uace0, \ucc98\ub9ac\uac00 \ub05d\ub09c \ud6c4 \ucd1d \uc5d0\ub7ec \uc218\ub97c \ucd9c\ub825\ud569\ub2c8\ub2e4. pattern\uacfc action\uc758 \ub2e4\uc591\ud55c \uc870\ud569\uc744 \ud1b5\ud574 <code>awk<\/code>\ub294 \ubcf5\uc7a1\ud55c \ub85c\uadf8 \ubd84\uc11d \uc791\uc5c5\uc744 \ud6a8\uc728\uc801\uc73c\ub85c \uc218\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc5ec\ub7ec <code>awk<\/code>\u00a0\uad00\ub828 \uc635\uc158\uc740 <a href=\"https:\/\/www.howtogeek.com\/562941\/how-to-use-the-awk-command-on-linux\/\" target=\"_blank\" rel=\"noopener\">\uc774\uacf3<\/a>\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"awk%EC%9D%98_%ED%99%9C%EC%9A%A9\"><\/span><span class=\"token\"> awk\uc758 \ud65c\uc6a9<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><code>awk<\/code>\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uc0c1\ud669\uc5d0\uc11c \ud2b9\ud788 \uc720\uc6a9\ud569\ub2c8\ub2e4:<\/p>\n<ul>\n<li>\ub85c\uadf8 \ud30c\uc77c \ubd84\uc11d<\/li>\n<li>\ub370\uc774\ud130 \ucd94\ucd9c \ubc0f \ubcf4\uace0\uc11c \uc0dd\uc131<\/li>\n<li>\uac04\ub2e8\ud55c \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc791\uc5c5<\/li>\n<li>\uc2dc\uc2a4\ud15c \uad00\ub9ac \uc791\uc5c5<\/li>\n<\/ul>\n<p>\ub370\uc774\ud130 \uc5d4\uc9c0\ub2c8\uc5b4\ub9c1 \ubd84\uc57c\uc5d0\uc11c <code>awk<\/code>\ub294 \ub300\ub7c9\uc758 \ud14d\uc2a4\ud2b8 \ub370\uc774\ud130\ub97c \ube60\ub974\uac8c \ucc98\ub9ac\ud558\uace0 \ubd84\uc11d\ud558\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \ud2b9\ud788 \ub85c\uadf8 \ud30c\uc77c \ubd84\uc11d, \ub370\uc774\ud130 \uc815\uc81c, \uac04\ub2e8\ud55c \ud1b5\uacc4 \uc791\uc5c5 \ub4f1\uc5d0 \ub110\ub9ac \ud65c\uc6a9\ub429\ub2c8\ub2e4. \ub2e4\uc74c \uc139\uc158\uc5d0\uc11c\ub294 \uc2e4\uc81c \ub85c\uadf8 \ud30c\uc77c \ubd84\uc11d\uc5d0 <code>awk<\/code>\ub97c \uc5b4\ub5bb\uac8c \uc801\uc6a9\ud560 \uc218 \uc788\ub294\uc9c0 \uad6c\uccb4\uc801\uc778 \uc608\uc81c\ub97c \ud1b5\ud574 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"awk%EB%A1%9C_%EB%A1%9C%EA%B7%B8_%ED%8C%8C%EC%9D%BC_%EB%B6%84%EC%84%9D%ED%95%98%EA%B8%B0\"><\/span>awk\ub85c \ub85c\uadf8 \ud30c\uc77c \ubd84\uc11d\ud558\uae30<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\ub370\uc774\ud130 \ucc98\ub9ac \ud504\ub85c\uc138\uc2a4\uc5d0\uc11c \uc8fc\uae30\uc801\uc778 \ub85c\uadf8 \ubd84\uc11d\uc740 \ubaa8\ub2c8\ud130\ub9c1\uacfc \uc131\ub2a5 \ucd5c\uc801\ud654\uc5d0 \ud544\uc218\uc801\uc785\ub2c8\ub2e4. \uc5ec\uae30\uc11c\ub294 linux \ud658\uacbd\uc5d0\uc11c <code>awk<\/code>\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub9e4\uc2dc\uac04 \ub85c\uadf8\ub97c \ubd84\uc11d\ud558\ub294 \uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc18c\uac1c\ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%ED%95%B5%EC%8B%AC_%EB%A1%9C%EC%A7%81\"><\/span><strong>\ud575\uc2ec \ub85c\uc9c1<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div>\n<pre>analyze_logs() {\r\n    local current_time=$(date -u +\"%Y-%m-%dT%H:%M:%S\")\r\n    local one_hour_ago=$(date -u -d '1 hour ago' + \"%Y-%m-%dT%H:%M:%S\")\r\n    local log_file=$(ls -t \"$LOG_DIR\"\/result_*.txt | head -n1)\r\n\r\n    echo \"Analyzing log file: $log_file for the last hour\"\r\n\r\n    awk -v start_time=\"$one_hour_ago\" '\r\n    function time_diff(t1, t2) {\r\n        gsub(\/[-T:]\/, \" \", t1)\r\n        gsub(\/[-T:]\/, \" \", t2)\r\n        return mktime(t1) - mktime(t2)\r\n    }\r\n    BEGIN {\r\n        FS = \"\\\"\"\r\n        print \"Analysis Time: \" strftime(\"%Y-%m-%dT%H:%M:%S\", systime())\r\n        print \"Analysis from: \" start_time\r\n        print \"Keyword Statistics:\"\r\n    }\r\n    \/timestamp\/ {\r\n        timestamp = $4\r\n        gsub(\/Z$\/, \"\", timestamp)\r\n        if (time_diff(timestamp, start_time) &gt;= 0) {\r\n            keyword = $16\r\n            status = $12\r\n            total[keyword]++\r\n            if (status == \"Success\") success[keyword]++\r\n            else if (status == \"Failed\") failed[keyword]++\r\n        }\r\n    }\r\n    END {\r\n        for (kw in total) {\r\n            print \" \" kw \":\"\r\n            print \" Total:\", total[kw]\r\n            print \" Success:\", success[kw] ? success[kw] : 0\r\n            print \" Failed:\", failed[kw] ? failed[kw] : 0\r\n        }\r\n        print \"------------------------\"\r\n    }\r\n    <span class=\"token\">'<\/span> <span class=\"token\">&lt;<\/span><span class=\"token\">(<\/span><span class=\"token\">tac<\/span> <span class=\"token\">\"<\/span><span class=\"token\">$log_file<\/span><span class=\"token\">\"<\/span><span class=\"token\">)<\/span> <span class=\"token\">&gt;&gt;<\/span> <span class=\"token\">\"<\/span><span class=\"token\">$result_file<\/span><span class=\"token\">\"<\/span>\r\n\r\n    echo \"Analysis completed at $current_time\"\r\n    echo \"Result:\"\r\n    cat \"$RESULT_FILE\"\r\n}\r\n\r\n<\/pre>\n<ul>\n<li>\ud504\ub85c\uc138\uc2a4 \uacb0\uacfc\uac00 \uc800\uc7a5\ub418\ub294 \ub514\ub809\ud1a0\ub9c1\uc5d0\uc11c \ucd5c\uc2e0 \ud14d\uc2a4\ud2b8 \ud30c\uc77c\uc744 \uc120\ud0dd\ud569\ub2c8\ub2e4.<\/li>\n<li><code>awk<\/code> \ub97c \uc774\uc6a9\ud558\uc5ec \ud0a4\uc6cc\ub4dc \ubcc4 \uc2e4\ud589 \ud69f\uc218, \uc131\uacf5 \ud69f\uc218, \uc2e4\ud328 \ud69f\uc218\ub97c \uc9d1\uacc4\ud569\ub2c8\ub2e4.<\/li>\n<li><code>tac<\/code> \uc744 \uc774\uc6a9\ud558\uc5ec \ub85c\uadf8 \ud30c\uc77c\uc744 \uc5ed\uc21c\uc73c\ub85c \uc77d\uc2b5\ub2c8\ub2e4.<\/li>\n<li>\ub9e4 \uc2dc\uac04 \uc9d1\uacc4 \uacb0\uacfc\ub97c \ud14d\uc2a4\ud2b8 \ud30c\uc77c\ub85c \uc800\uc7a5\ud558\uace0, rotation\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/li>\n<li><code>awk<\/code>\ub294 \uc790\uccb4\uc801\uc73c\ub85c \uc785\ub825 \ud30c\uc77c\uc758 \uac01 \uc904\uc744 \ucc98\ub9ac\ud558\ub294 \uae30\ub2a5\uc744 \uac00\uc9c0\uace0 \uc788\uc5b4, \ubc18\ubcf5\ubb38\uc744 \uc2e4\ud589\ud558\uc9c0 \uc54a\uc544\ub3c4 \ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"awk_%ED%95%84%EB%93%9C_%EA%B5%AC%EB%B6%84%EC%9E%90_%EC%BB%A4%EC%8A%A4%ED%84%B0%EB%A7%88%EC%9D%B4%EC%A7%95\"><\/span>awk \ud544\ub4dc \uad6c\ubd84\uc790 \ucee4\uc2a4\ud130\ub9c8\uc774\uc9d5<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><code>awk<\/code>\uc758 \uae30\ubcf8 \uc124\uc815\uc740 \uacf5\ubc31(space, tab)\uacfc \uc904\ubc14\uafc8\uc744 \ud544\ub4dc \uad6c\ubd84\uc790\ub85c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ud558\uc9c0\ub9cc, \ub85c\uadf8\uc758 \ud615\uc2dd\uc740 \uc0ac\uc6a9\uc790\uac00 \uc9c1\uc811 \uc9c0\uc815\ud558\ub294 \uacbd\uc6b0\uac00 \ub9ce\uc2b5\ub2c8\ub2e4. \uc800\ud76c\uc758 \ub85c\uadf8 \ud30c\uc77c\uc740 \uc544\ub798\uc640 \uac19\uc774 JSON \uad6c\uc870\ub97c \uac00\uc9c0\uace0 \uc788\uc5b4 \ud544\ub4dc \uad6c\ubd84\uc790\ub97c \uc218\uc815\ud574\uc57c \ud588\uc2b5\ub2c8\ub2e4.<\/p>\n<pre>{\"timestamp\": \"2024-09-11T07:56:11.998645Z\", \"KST\": \"2024-09-11T16:56:11.998645\", \"status\": \"Success\", \"keyword\": \"example\", \"url\": \"https:\/\/example.com\"}<\/pre>\n<p>\uc800\ud76c\uc758 \ub85c\uadf8 \ud30c\uc77c\uc5d0\uc11c \uac01 \ud544\ub4dc\ub294 \ub530\uc634\ud45c(<code>\"<\/code>)\ub85c \ub458\ub7ec\uc2f8\uc5ec \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub97c \ud6a8\uacfc\uc801\uc73c\ub85c \ucc98\ub9ac\ud558\uae30 \uc704\ud574 \ub2e4\uc74c\uacfc \uac19\uc774 \ud544\ub4dc \uad6c\ubd84\uc790\ub97c \uc124\uc815\ud588\uc2b5\ub2c8\ub2e4:<\/p>\n<pre>BEGIN {\r\n  \u00a0 FS = \"\\\"\"\r\n}<\/pre>\n<p>\ucee4\uc2a4\ud140 \ud544\ub4dc \uad6c\ubd84\uc790\ub97c \uc124\uc815\ud55c \ud6c4, \ub2e4\uc74c\uacfc \uac19\uc774 \ud544\uc694\ud55c \uc815\ubcf4\ub97c \uac04\ub2e8\ud558\uac8c \ucd94\ucd9c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<pre><span class=\"token code code-block language-awk\">{ <\/span>\r\n  \u00a0 timestamp = $4 \r\n  \u00a0 status = $12 \r\n    keyword = $16\r\n<span class=\"token code code-block language-awk\">}<\/span><\/pre>\n<p>\ub85c\uadf8 \ubd84\uc11d \uacb0\uacfc\ub294 \uc544\ub798\uc640 \uac19\uc774 \uc800\uc7a5\ub429\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-328\" src=\"https:\/\/www.nnt-consulting.com\/tech\/blog\/wp-content\/uploads\/2024\/09\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2024-09-11-\u110b\u1169\u1112\u116e-5.27.46.png\" alt=\"awk \ub85c\uadf8 \ubd84\uc11d \uacb0\uacfc\" width=\"570\" height=\"270\" srcset=\"https:\/\/www.nnt-consulting.com\/tech\/blog\/wp-content\/uploads\/2024\/09\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2024-09-11-\u110b\u1169\u1112\u116e-5.27.46.png 1520w, https:\/\/www.nnt-consulting.com\/tech\/blog\/wp-content\/uploads\/2024\/09\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2024-09-11-\u110b\u1169\u1112\u116e-5.27.46-300x142.png 300w, https:\/\/www.nnt-consulting.com\/tech\/blog\/wp-content\/uploads\/2024\/09\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2024-09-11-\u110b\u1169\u1112\u116e-5.27.46-1024x485.png 1024w, https:\/\/www.nnt-consulting.com\/tech\/blog\/wp-content\/uploads\/2024\/09\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2024-09-11-\u110b\u1169\u1112\u116e-5.27.46-768x364.png 768w, https:\/\/www.nnt-consulting.com\/tech\/blog\/wp-content\/uploads\/2024\/09\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2024-09-11-\u110b\u1169\u1112\u116e-5.27.46-900x426.png 900w, https:\/\/www.nnt-consulting.com\/tech\/blog\/wp-content\/uploads\/2024\/09\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2024-09-11-\u110b\u1169\u1112\u116e-5.27.46-500x237.png 500w\" sizes=\"auto, (max-width: 570px) 100vw, 570px\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"awk_%EC%82%AC%EC%9A%A9%EC%9D%98_%EC%9D%B4%EC%A0%90\"><\/span>awk \uc0ac\uc6a9\uc758 \uc774\uc810<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ol>\n<li><strong><span class=\"token\">\ud6a8\uc728\uc131<\/span><\/strong>: <code>awk<\/code>\ub294 \ud55c \ubc88\uc758 \ud30c\uc77c \uc77d\uae30\ub85c \ubaa8\ub4e0 \ucc98\ub9ac\ub97c \uc218\ud589\ud569\ub2c8\ub2e4. \uc774\ub294 \uc5ec\ub7ec \ubc88 \ud30c\uc77c\uc744 \uc77d\ub294 \ubc29\uc2dd\ubcf4\ub2e4 \ud6e8\uc52c \ud6a8\uc728\uc801\uc785\ub2c8\ub2e4.<\/li>\n<li><strong><span class=\"token\">\uc2dc\uac04 \uacc4\uc0b0\uc758 \uc815\ud655\uc131<\/span><\/strong>: <code>awk<\/code>\uc758 <span class=\"token code\"><code>mktime<\/code><\/span> \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc815\ud655\ud55c \uc2dc\uac04 \ucc28\uc774\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4. \uc774\ub294 \ubb38\uc790\uc5f4 \ube44\uad50\ubcf4\ub2e4 \ub354 \uc2e0\ub8b0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong><span class=\"token\">\ucf54\ub4dc \uac04\uacb0\uc131<\/span><\/strong>: \ubcf5\uc7a1\ud55c bash \ub85c\uc9c1\uc774 <code>awk<\/code>\uc758 \uac04\uacb0\ud55c \ucf54\ub4dc\ub85c \ub300\uccb4\ub418\uc5b4 \uac00\ub3c5\uc131\uc774 \ud5a5\uc0c1\ub418\uace0 \uc720\uc9c0\ubcf4\uc218\uac00 \uc26c\uc6cc\uc9d1\ub2c8\ub2e4.<\/li>\n<li><strong><span class=\"token\">\uc720\uc5f0\uc131<\/span><\/strong>: <code>awk<\/code> \uc2a4\ud06c\ub9bd\ud2b8\ub294 \uc27d\uac8c \uc218\uc815\ud560 \uc218 \uc788\uc5b4, \ub85c\uadf8 \ud615\uc2dd\uc774 \ubcc0\uacbd\ub418\uac70\ub098 \ucd94\uac00 \ubd84\uc11d\uc774 \ud544\uc694\ud55c \uacbd\uc6b0 \ube60\ub974\uac8c \ub300\uc751\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong><span class=\"token\">\ub0b4\uc7a5 \ud568\uc218 \ud65c\uc6a9<\/span><\/strong>: <code>awk<\/code>\uc758 \ub0b4\uc7a5 \ud568\uc218(\uc608: strftime, mktime)\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc2dc\uac04 \ucc98\ub9ac\ub97c \uc27d\uac8c \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ol>\n<p>\uc774\ub7ec\ud55c awk\uc758 \ud2b9\uc131\uc740 \ub370\uc774\ud130 \uc5d4\uc9c0\ub2c8\uc5b4\uac00 \ubcf5\uc7a1\ud55c \ub85c\uadf8 \ubd84\uc11d \uc791\uc5c5\uc744 \ud6a8\uc728\uc801\uc73c\ub85c \uc218\ud589\ud558\ub294 \ub370 \ud070 \ub3c4\uc6c0\uc774 \ub429\ub2c8\ub2e4.<\/p>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"service%EB%A5%BC_%EC%9D%B4%EC%9A%A9%ED%95%9C_%EC%8A%A4%EC%BC%80%EC%A4%84%EB%A7%81\"><\/span>service\ub97c \uc774\uc6a9\ud55c \uc2a4\ucf00\uc904\ub9c1<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\uc774 \uc258 \uc2a4\ud06c\ub9bd\ud2b8\ub97c service\ub85c \ub4f1\ub85d\ud558\uc5ec \uc9c0\uc18d\uc801\uc73c\ub85c \uc2e4\ud589\ub418\ub3c4\ub85d \uc124\uc815\ud588\uc2b5\ub2c8\ub2e4. service \ud30c\uc77c\uc740 \uc544\ub798\uc640 \uac19\uc774 \uc791\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<pre>[Unit] \r\nDescription=Log Analysis Service \r\nAfter=network.target \r\n\r\n[Service] \r\nExecStart=\/home\/dev\/example\/result_analysis.sh \r\nRestart=always \r\nUser=dev \r\nGroup=dev \r\nEnvironment=PATH=\/usr\/bin:\/usr\/local\/bin \r\nWorkingDirectory=\/home\/dev\/example \r\n\r\n[Install] \r\nWantedBy=multi-user.target<!-- notionvc: a88ddbe8-47bb-4042-a64a-76fd08e6387d --><\/pre>\n<p>\uc774\ub97c \ud1b5\ud574 \ub85c\uadf8 \ubd84\uc11d \uc2a4\ud06c\ub9bd\ud2b8\uac00 \uc9c0\uc18d\uc801\uc73c\ub85c \uc2e4\ud589\ub418\uba74\uc11c \ub9e4\uc2dc\uac04 \ub85c\uadf8\ub97c \ubd84\uc11d\ud558\uac8c \ub429\ub2c8\ub2e4.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%EA%B2%B0%EB%A1%A0\"><\/span>\uacb0\ub860<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><code>awk<\/code>\ub97c \ud65c\uc6a9\ud55c \ub85c\uadf8 \ubd84\uc11d\uc740 \ub370\uc774\ud130 \uc5d4\uc9c0\ub2c8\uc5b4\ub9c1 \ubd84\uc57c\uc5d0\uc11c \ud6a8\uc728\uc801\uc774\uace0 \uac15\ub825\ud55c \ub3c4\uad6c\uc785\ub2c8\ub2e4. \ub300\ub7c9\uc758 \ub85c\uadf8 \ub370\uc774\ud130\ub97c \ube60\ub974\uac8c \ucc98\ub9ac\ud558\uace0, \ud544\uc694\ud55c \uc815\ubcf4\ub97c \uc815\ud655\ud558\uac8c \ucd94\ucd9c\ud560 \uc218 \uc788\uc5b4 \uc2dc\uc2a4\ud15c \ubaa8\ub2c8\ud130\ub9c1\uacfc \uc131\ub2a5 \ucd5c\uc801\ud654\uc5d0 \ud070 \ub3c4\uc6c0\uc774 \ub429\ub2c8\ub2e4. \ud2b9\ud788 \ucee4\uc2a4\ud140 \ud544\ub4dc \uad6c\ubd84\uc790 \uc124\uc815\uacfc \ub0b4\uc7a5 \ud568\uc218\ub97c \ud65c\uc6a9\ud558\uba74, \ub2e4\uc591\ud55c \ud615\uc2dd\uc758 \ub85c\uadf8\uc5d0 \uc720\uc5f0\ud558\uac8c \ub300\uc751\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ub370\uc774\ud130 \uc5d4\uc9c0\ub2c8\uc5b4\ub9c1 \ud504\ub85c\uc138\uc2a4\uc5d0\uc11c <code>awk<\/code>\ub97c \ud6a8\uacfc\uc801\uc73c\ub85c \ud65c\uc6a9\ud558\uba74 \ub85c\uadf8 \ubd84\uc11d \uc791\uc5c5\uc758 \ud6a8\uc728\uc131\uc744 \ud06c\uac8c \ub192\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub294 \uacb0\uacfc\uc801\uc73c\ub85c \uc2dc\uc2a4\ud15c \uc131\ub2a5 \ud5a5\uc0c1\uacfc \ubb38\uc81c \ud574\uacb0 \uc2dc\uac04 \ub2e8\ucd95\uc73c\ub85c \uc774\uc5b4\uc838, \uc804\ubc18\uc801\uc778 \ub370\uc774\ud130 \ucc98\ub9ac \ud658\uacbd\uc744 \uac1c\uc120\ud558\ub294 \ub370 \uae30\uc5ec\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><!-- notionvc: 810928c5-da56-466a-955c-140c00bb4a80 --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ub4e4\uc5b4\uac00\uba70 \ubcf5\uc7a1\ud55c \ub370\uc774\ud130 \uc5d4\uc9c0\ub2c8\uc5b4\ub9c1 \ud658\uacbd\uc5d0\uc11c \ub85c\uadf8 \ubd84\uc11d\uc740 \ub2e8\uc21c\ud55c \ub514\ubc84\uae45 \ub3c4\uad6c\ub97c \ub118\uc5b4 \uc2dc\uc2a4\ud15c\uc758 \uac74\uac15 \uc0c1\ud0dc\ub97c \ubaa8\ub2c8\ud130\ub9c1\ud558\uace0 \uc131\ub2a5\uc744 \ucd5c\uc801\ud654\ud558\ub294 \ub370 \ud544\uc218\uc801\uc778 \uc694\uc18c\uac00 \ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ub370\uc774\ud130 \ud30c\uc774\ud504\ub77c\uc778, ETL \ud504\ub85c\uc138\uc2a4, \uc2e4\uc2dc\uac04 \ub370\uc774\ud130 \uc2a4\ud2b8\ub9ac\ubc0d \ub4f1 \ub2e4\uc591\ud55c \ub370\uc774\ud130 \ucc98\ub9ac \uc791\uc5c5\uc5d0\uc11c \ubc1c\uc0dd\ud558\ub294 \ub85c\uadf8\ub294 \uc2dc\uc2a4\ud15c\uc758 \ub3d9\uc791\uc744 \uc774\ud574\ud558\uace0 \ubb38\uc81c\ub97c \uc2e0\uc18d\ud558\uac8c \ud574\uacb0\ud558\ub294 \ub370 \uc911\uc694\ud55c \uc815\ubcf4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \ub370\uc774\ud130 \uc5d4\uc9c0\ub2c8\uc5b4\ub294 \uc774\ub7ec\ud55c \ub2e4\uc591\ud55c \ud615\ud0dc\uc758 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[40,39,7,38],"class_list":["post-314","post","type-post","status-publish","format-standard","hentry","category-1","tag-awk","tag-linux","tag-7","tag-38","col-md-12"],"_links":{"self":[{"href":"https:\/\/www.nnt-consulting.com\/tech\/blog\/wp-json\/wp\/v2\/posts\/314","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nnt-consulting.com\/tech\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nnt-consulting.com\/tech\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nnt-consulting.com\/tech\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nnt-consulting.com\/tech\/blog\/wp-json\/wp\/v2\/comments?post=314"}],"version-history":[{"count":15,"href":"https:\/\/www.nnt-consulting.com\/tech\/blog\/wp-json\/wp\/v2\/posts\/314\/revisions"}],"predecessor-version":[{"id":330,"href":"https:\/\/www.nnt-consulting.com\/tech\/blog\/wp-json\/wp\/v2\/posts\/314\/revisions\/330"}],"wp:attachment":[{"href":"https:\/\/www.nnt-consulting.com\/tech\/blog\/wp-json\/wp\/v2\/media?parent=314"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nnt-consulting.com\/tech\/blog\/wp-json\/wp\/v2\/categories?post=314"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nnt-consulting.com\/tech\/blog\/wp-json\/wp\/v2\/tags?post=314"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}