{"id":300316,"date":"2020-03-18T15:00:15","date_gmt":"2020-03-18T15:00:15","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=300316"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=300316","title":{"rendered":"13 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0435\u043a\u0441\u0442\u0430 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0435"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/\">\u0417\u0434\u0435\u0441\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u0431\u0443\u0434\u0443\u0449\u0435\u0439 \u043a\u043d\u0438\u0433\u0438 \u00ab\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f\u00bb \u0411\u0430\u043b\u044c\u0442\u0430\u0437\u0430\u0440\u0430 \u0420\u0443\u0431\u0435\u0440\u043e\u043b\u044f \u0438 <a href=\"https:\/\/etnbrd.com\/\">\u042d\u0442\u044c\u0435\u043d\u0430 \u0411\u0440\u043e\u0434\u0443<\/a>. \u041a\u043d\u0438\u0433\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u043e\u043c\u043e\u0447\u044c \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u043f\u043e\u0434\u0440\u0430\u0441\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u043a\u043e\u043b\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u041e\u043d\u0430 \u043e\u0445\u0432\u0430\u0442\u0438\u0442 \u0442\u0430\u043a\u0438\u0435 \u0442\u0435\u043c\u044b, \u043a\u0430\u043a \u043e\u0441\u0432\u043e\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0441\u043e\u043b\u0438, \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0435, \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 \u043a\u043e\u0434\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>git<\/code>, \u043e\u0441\u043d\u043e\u0432\u044b SQL, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0432\u0440\u043e\u0434\u0435 <code>Make<\/code>, <code>jq<\/code> \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043e\u0441\u043d\u043e\u0432\u044b \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b. \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0430\u0432\u0442\u043e\u0440\u044b \u0443\u043f\u043e\u0440\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0430\u0434 \u044d\u0442\u0438\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c \u0438 \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u044e\u0442 \u0432\u0441\u0435\u0445 \u043f\u043e\u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 <a href=\"https:\/\/balthazar-rouberol.us4.list-manage.com\/subscribe?u=1f6080d496af07a836270ff1d&amp;id=81ebd36adb\">\u0441\u043f\u0438\u0441\u043a\u0435 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438<\/a>.<\/p>\n<h1>\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435<\/h1>\n<p>  <\/p>\n<ul>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#1\">cat<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#2\">head<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#3\">tail<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#4\">wc<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#5\">grep<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#6\">cut<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#7\">paste<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#8\">sort<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#9\">uniq<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#10\">awk<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#11\">tr<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#12\">fold<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#13\">sed<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#14\">\u0420\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#15\">\u0423\u0433\u043b\u0443\u0431\u043b\u044f\u0435\u043c\u0441\u044f: \u0446\u0438\u043a\u043b\u044b for \u0438 xargs<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#16\">\u0418\u0442\u043e\u0433\u0438<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#17\">\u0427\u0442\u043e \u0434\u0430\u043b\u044c\u0448\u0435<\/a><\/li>\n<\/ul>\n<p><a name=\"habracut\"><\/a>  <\/p>\n<h1>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0442\u0435\u043a\u0441\u0442\u0430 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0435<\/h1>\n<p>  \u041e\u0434\u043d\u0430 \u0438\u0437 \u043f\u0440\u0438\u0447\u0438\u043d, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0435\u043b\u0430\u044e\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0443 \u0431\u0435\u0441\u0446\u0435\u043d\u043d\u044b\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c, \u2014 \u044d\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u043c\u0430\u043d\u0434 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0435\u043a\u0441\u0442\u0430 \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043b\u0435\u0433\u043a\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c \u0438\u0445 \u0432 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u042d\u0442\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u0435\u043b\u0430\u044e\u0442 \u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043c\u043d\u043e\u0433\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043f\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0443 \u0442\u0435\u043a\u0441\u0442\u0430 \u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0436\u0434\u0443 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u0430\u043c\u0438, \u043f\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u0441\u0442\u0440\u043e\u043a \u0438 \u0442.\u00a0\u0434.<\/p>\n<p>  \u041f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0431\u0438\u0442\u044c \u043b\u044e\u0431\u0443\u044e \u0441\u043b\u043e\u0436\u043d\u0443\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043d\u0430 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u043b\u043a\u0438\u0445\u00a0\u2014 \u0438 \u0440\u0435\u0448\u0438\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u0438\u0437 \u043d\u0438\u0445 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430.<\/p>\n<blockquote><p>\u0417\u0430\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u043a\u0430\u0436\u0434\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0445\u043e\u0440\u043e\u0448\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043e\u0434\u043d\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e\u00a0\u2014 <a href=\"https:\/\/homepage.cs.uri.edu\/~thenry\/resources\/unix_art\/ch01s06.html\">\u00ab\u041e\u0441\u043d\u043e\u0432\u044b \u0444\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u0438 Unix\u00bb<\/a><\/p><\/blockquote>\n<p>  \u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u0437 \u044d\u0442\u043e\u0439 \u0433\u043b\u0430\u0432\u044b \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043d\u0430\u0434\u0443\u043c\u0430\u043d\u043d\u044b\u043c\u0438, \u043d\u043e \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e. \u041a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043e\u0434\u043d\u043e\u0439 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438. \u041e\u0434\u043d\u0430\u043a\u043e \u0432 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0438 \u043e\u043d\u0438 \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u0447\u0440\u0435\u0437\u0432\u044b\u0447\u0430\u0439\u043d\u043e \u043c\u043e\u0449\u043d\u044b\u043c\u0438.<\/p>\n<p>  \u041c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0435\u043a\u0441\u0442\u0430 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0435 \u0438 \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u0440\u0430\u0431\u043e\u0447\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b, \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u044e\u0449\u0438\u0435 \u0438\u0445 \u0432\u043c\u0435\u0441\u0442\u0435. \u042f \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u043d\u0430 \u043c\u0430\u043d\u044b \u044d\u0442\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434, \u0447\u0442\u043e\u0431\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0432\u0441\u044e \u0448\u0438\u0440\u043e\u0442\u0443 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 \u0432\u0430\u0448\u0435\u043c \u0440\u0430\u0441\u043f\u043e\u0440\u044f\u0436\u0435\u043d\u0438\u0438.<\/p>\n<blockquote><p>\u0424\u0430\u0439\u043b CSV \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438 <a href=\"https:\/\/raw.githubusercontent.com\/DataDog\/integrations-core\/master\/mysql\/metadata.csv\">\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432 \u043e\u043d\u043b\u0430\u0439\u043d\u0435<\/a>. \u041c\u043e\u0436\u0435\u0442\u0435 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0435\u0433\u043e \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430.<\/p><\/blockquote>\n<p>  <a name=\"1\"><\/a><\/p>\n<h1>cat<\/h1>\n<p>  \u041a\u043e\u043c\u0430\u043d\u0434\u0430 <code>cat<\/code> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u043f\u0438\u0441\u043a\u0430 \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438\u0445 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435.<\/p>\n<pre><code class=\"plaintext\">$ cat Documents\/readme Thanks again for reading this book! I hope you're following so far!  $ cat Documents\/computers Computers are not intelligent They're just fast at making dumb things.  $ cat Documents\/readme Documents\/computers Thanks again for reading this book! I hope you are following so far!  Computers are not intelligent They're just fast at making dumb things.<\/code><\/pre>\n<p>  <a name=\"2\"><\/a><\/p>\n<h1>head<\/h1>\n<p>  <code>head<\/code> \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043f\u0435\u0440\u0432\u044b\u0435 n \u0441\u0442\u0440\u043e\u043a \u0432 \u0444\u0430\u0439\u043b\u0435. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u0432 \u0444\u0430\u0439\u043b \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u0430, \u043d\u0435 \u0437\u0430\u0432\u0430\u043b\u0438\u0432\u0430\u044f \u0432\u0441\u044e \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u043a\u0443\u0447\u0435\u0439 \u0442\u0435\u043a\u0441\u0442\u0430.<\/p>\n<pre><code class=\"bash\">$ head -n 2 metadata.csv metric_name,metric_type,interval,unit_name,per_unit_name,description,orientation,integration,short_name mysql.galera.wsrep_cluster_size,gauge,,node,,The current number of nodes in the Galera cluster.,0,mysql,galera cluster size<\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 <code>-n<\/code> \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e, <code>head<\/code> \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043f\u0435\u0440\u0432\u044b\u0435 \u0434\u0435\u0441\u044f\u0442\u044c \u0441\u0442\u0440\u043e\u043a \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0438\u043b\u0438 \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430.<\/p>\n<p>  <a name=\"3\"><\/a><\/p>\n<h1>tail<\/h1>\n<p>  <code>tail<\/code> \u2014 \u0430\u043d\u0430\u043b\u043e\u0433 <code>head<\/code>, \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043d \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 n \u0441\u0442\u0440\u043e\u043a \u0432 \u0444\u0430\u0439\u043b\u0435.<\/p>\n<pre><code class=\"bash\">$ tail -n 1 metadata.csv mysql.performance.queries,gauge,,query,second,The rate of queries.,0,mysql,queries<\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0432\u0441\u0435 \u0441\u0442\u0440\u043e\u043a\u0438, \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u043c \u043f\u043e\u0441\u043b\u0435 n-\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 (\u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0435\u0451), \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 <code>-n +n<\/code>.<\/p>\n<pre><code class=\"bash\">$ tail -n +42 metadata.csv mysql.replication.slaves_connected,gauge,,,,Number of slaves connected to a replication master.,0,mysql,slaves connected mysql.performance.queries,gauge,,query,second,The rate of queries.,0,mysql,queries<\/code><\/pre>\n<p>  \u0412 \u043d\u0430\u0448\u0435\u043c \u0444\u0430\u0439\u043b\u0435 43 \u0441\u0442\u0440\u043e\u043a\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 <code>tail -n +42<\/code> \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e 42-\u044e \u0438 43-\u044e \u0441\u0442\u0440\u043e\u043a\u0438 \u0438\u0437 \u043d\u0435\u0433\u043e.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <code>-n<\/code> \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d, <code>tail<\/code> \u0432\u044b\u0432\u0435\u0434\u0435\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0434\u0435\u0441\u044f\u0442\u044c \u0441\u0442\u0440\u043e\u043a \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u0438\u043b\u0438 \u0432\u0445\u043e\u0434\u043d\u043e\u043c \u043f\u043e\u0442\u043e\u043a\u0435.<\/p>\n<p>  <code>tail -f<\/code> \u0438\u043b\u0438 <code>tail --follow<\/code> \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0444\u0430\u0439\u043b\u0435 \u0438 \u043a\u0430\u0436\u0434\u0443\u044e \u043d\u043e\u0432\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u043f\u043e \u043c\u0435\u0440\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0444\u0430\u0439\u043b. \u042d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0442\u043e \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043b\u043e\u0433\u0438 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u0442.\u00a0\u0434.<\/p>\n<p>  <a name=\"4\"><\/a><\/p>\n<h1>wc<\/h1>\n<p>  <code>wc<\/code> (word count) \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 (<code>-c<\/code>), \u0441\u043b\u043e\u0432 (<code>-w<\/code>) \u0438\u043b\u0438 \u0441\u0442\u0440\u043e\u043a (<code>-l<\/code>) \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u0438\u043b\u0438 \u043f\u043e\u0442\u043e\u043a\u0435.<\/p>\n<pre><code class=\"bash\">$ wc -l metadata.csv 43  metadata.csv $ wc -w metadata.csv 405 metadata.csv $ wc -c metadata.csv 5094 metadata.csv<\/code><\/pre>\n<p>  \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u0451 \u0432\u044b\u0448\u0435\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435.<\/p>\n<pre><code class=\"bash\">$ wc metadata.csv 43     405    5094 metadata.csv<\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u043e \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0443 \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u044b \u0432 <code>stdin<\/code>, \u0442\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0447\u0451\u0442\u0447\u0438\u043a.<\/p>\n<pre><code class=\"bash\">$ cat metadata.csv | wc 43     405    5094 $ cat metadata.csv | wc -l 43 $ wc -w &lt; metadata.csv 405<\/code><\/pre>\n<p>  <a name=\"5\"><\/a><\/p>\n<h1>grep<\/h1>\n<p>  <code>grep<\/code> \u2014 \u044d\u0442\u043e \u0448\u0432\u0435\u0439\u0446\u0430\u0440\u0441\u043a\u0438\u0439 \u043d\u043e\u0436 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u0441\u0442\u0440\u043e\u043a \u043f\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u0448\u0430\u0431\u043b\u043e\u043d\u0443.<\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0436\u0435\u043c \u043d\u0430\u0439\u0442\u0438 \u0432\u0441\u0435 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0441\u043b\u043e\u0432\u0430 <i>mutex<\/i> \u0432 \u0444\u0430\u0439\u043b\u0435.<\/p>\n<pre><code class=\"bash\">$ grep mutex metadata.csv mysql.innodb.mutex_os_waits,gauge,,event,second,The rate of mutex OS waits.,0,mysql,mutex os waits mysql.innodb.mutex_spin_rounds,gauge,,event,second,The rate of mutex spin rounds.,0,mysql,mutex spin rounds mysql.innodb.mutex_spin_waits,gauge,,event,second,The rate of mutex spin waits.,0,mysql,mutex spin waits<\/code><\/pre>\n<p>  <code>grep<\/code> \u043c\u043e\u0436\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043b\u0438\u0431\u043e \u0444\u0430\u0439\u043b\u044b, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u043b\u0438\u0431\u043e \u043f\u043e\u0442\u043e\u043a \u0442\u0435\u043a\u0441\u0442\u0430, \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u0435\u0433\u043e <code>stdin<\/code>. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u0446\u0435\u043f\u043b\u044f\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043c\u0430\u043d\u0434 <code>grep<\/code> \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u0442\u0435\u043a\u0441\u0442\u0430. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043c\u044b \u0444\u0438\u043b\u044c\u0442\u0440\u0443\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u043d\u0430\u0448\u0435\u043c \u0444\u0430\u0439\u043b\u0435 <code>metadata.csv<\/code>, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0439\u0442\u0438 \u0441\u0442\u0440\u043e\u043a\u0438, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435 \u0438 <i>mutex<\/i>, \u0438 <i>OS<\/i>.<\/p>\n<pre><code class=\"bash\">$ grep mutex metadata.csv | grep OS mysql.innodb.mutex_os_waits,gauge,,event,second,The rate of mutex OS waits.,0,mysql,mutex os waits<\/code><\/pre>\n<p>  \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043f\u0446\u0438\u0438 <code>grep<\/code> \u0438 \u0438\u0445 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435.<\/p>\n<p>  <code>grep -v<\/code> \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0438\u043d\u0432\u0435\u0440\u0442\u043d\u043e\u0435 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435: \u0444\u0438\u043b\u044c\u0442\u0440\u0443\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 <i>\u043d\u0435<\/i> \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0448\u0430\u0431\u043b\u043e\u043d\u0443 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432.<\/p>\n<pre><code class=\"bash\">$ grep -v gauge metadata.csv metric_name,metric_type,interval,unit_name,per_unit_name,description,orientation,integration,short_name<\/code><\/pre>\n<p>  <code> grep -i<\/code> \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0435\u0437 \u0443\u0447\u0451\u0442\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 <code>grep -i os<\/code> \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u043a\u0430\u043a <i>OS<\/i>, \u0442\u0430\u043a \u0438 <i>os<\/i>.<\/p>\n<pre><code class=\"bash\">$ grep -i os metadata.csv mysql.innodb.mutex_os_waits,gauge,,event,second,The rate of mutex OS waits.,0,mysql,mutex os waits mysql.innodb.os_log_fsyncs,gauge,,write,second,The rate of fsync writes to the log file.,0,mysql,log fsyncs<\/code><\/pre>\n<p>  <code>grep -l<\/code> \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0444\u0430\u0439\u043b\u043e\u0432, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0445 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0435.<\/p>\n<pre><code class=\"bash\">$ grep -l mysql metadata.csv metadata.csv<\/code><\/pre>\n<p>  \u041a\u043e\u043c\u0430\u043d\u0434\u0430 <code>grep -c<\/code> \u043f\u043e\u0434\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u043d\u0430\u0439\u0434\u0435\u043d \u043e\u0431\u0440\u0430\u0437\u0435\u0446.<\/p>\n<pre><code class=\"bash\">$ grep -c select metadata.csv 3<\/code><\/pre>\n<p>  <code>grep -r<\/code> \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u043e \u0438\u0449\u0435\u0442 \u0444\u0430\u0439\u043b\u044b \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u0438 \u0432\u0441\u0435\u0445 \u0435\u0433\u043e \u043f\u043e\u0434\u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430\u0445.<\/p>\n<pre><code class=\"bash\">$ grep -r are ~\/Documents \/home\/br\/Documents\/computers:Computers are not intelligent \/home\/br\/Documents\/readme:I hope you are following so far!<\/code><\/pre>\n<p>  <code>grep -w<\/code> \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0449\u0438\u0435 \u0446\u0435\u043b\u0438\u043a\u043e\u043c \u0441\u043b\u043e\u0432\u0430.<\/p>\n<pre><code class=\"bash\">$ grep follow ~\/Documents\/readme I hope you are following so far! $ grep -w follow ~\/Documents\/readme $<\/code><\/pre>\n<p>  <a name=\"6\"><\/a><\/p>\n<h1>cut<\/h1>\n<p>  <code>cut<\/code> \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u0447\u0430\u0441\u0442\u044c \u0444\u0430\u0439\u043b\u0430 (\u0438\u043b\u0438, \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u043e, \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430). \u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u043f\u043e\u043b\u0435\u0439 (\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0435\u0442 \u0441\u0442\u043e\u043b\u0431\u0446\u044b) \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u043f\u0446\u0438\u0438 <code>-d<\/code>, \u0430 \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u0435 \u043d\u043e\u043c\u0435\u0440\u0430 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0434\u043b\u044f \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u043f\u0446\u0438\u0438 <code>-f<\/code>.<\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0438\u0437 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u043f\u044f\u0442\u0438 \u0441\u0442\u0440\u043e\u043a \u043d\u0430\u0448\u0435\u0433\u043e CSV-\u0444\u0430\u0439\u043b\u0430.<\/p>\n<pre><code class=\"bash\">$ tail -n 5 metadata.csv | cut -d , -f 1 mysql.performance.user_time mysql.replication.seconds_behind_master mysql.replication.slave_running mysql.replication.slaves_connected mysql.performance.queries<\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0434\u0435\u043b\u043e \u0441 CSV, \u0442\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u044b \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u044f\u0442\u043e\u0439, \u0430 \u0437\u0430 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u0430 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043e\u043f\u0446\u0438\u044f <code>-f 1<\/code>.<\/p>\n<p>  \u041c\u043e\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0438 \u043f\u0435\u0440\u0432\u044b\u0439, \u0438 \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u0442\u043e\u043b\u0431\u0446\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043e\u043f\u0446\u0438\u044e <code>-f 1,2<\/code>.<\/p>\n<pre><code class=\"bash\">$ tail -n 5 metadata.csv | cut -d , -f 1,2 mysql.performance.user_time,gauge mysql.replication.seconds_behind_master,gauge mysql.replication.slave_running,gauge mysql.replication.slaves_connected,gauge mysql.performance.queries,gauge<\/code><\/pre>\n<p>  <a name=\"7\"><\/a><\/p>\n<h1>paste<\/h1>\n<p>  <code>paste<\/code> \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u0442 \u0432\u043c\u0435\u0441\u0442\u0435 \u0434\u0432\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u0430 \u0432 \u043e\u0434\u0438\u043d \u043c\u043d\u043e\u0433\u043e\u043a\u043e\u043b\u043e\u043d\u043e\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b.<\/p>\n<pre><code class=\"bash\">$ cat ingredients eggs milk butter tomatoes $ cat prices 1$ 1.99$ 1.50$ 2$\/kg $ paste ingredients prices eggs    1$ milk    1.99$ butter  1.50$ tomatoes    2$\/kg<\/code><\/pre>\n<p>  \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e <code>paste<\/code> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u0442\u0430\u0431\u0443\u043b\u044f\u0446\u0438\u0438, \u043d\u043e \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 <code>-d<\/code>.<\/p>\n<pre><code class=\"bash\">$ paste ingredients prices -d: eggs:1$ milk:1.99$ butter:1.50$ tomatoes:2$\/kg<\/code><\/pre>\n<p>  \u0415\u0449\u0451 \u043e\u0434\u0438\u043d \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0451\u043d\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f <code>paste<\/code>\u00a0\u2014 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u0441\u0442\u0440\u043e\u043a \u0432 \u043f\u043e\u0442\u043e\u043a\u0435 \u0438\u043b\u0438 \u0444\u0430\u0439\u043b\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 <code>-s<\/code> \u0438 <code>-d<\/code>.<\/p>\n<pre><code class=\"bash\">$ paste -s -d, ingredients eggs,milk,butter,tomatoes<\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0443\u043a\u0430\u0437\u0430\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <code>-<\/code>, \u0442\u043e \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0435\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f <code>stdin<\/code>.<\/p>\n<pre><code class=\"bash\">$ cat ingredients | paste -s -d, - eggs,milk,butter,tomatoes<\/code><\/pre>\n<p>  <a name=\"8\"><\/a><\/p>\n<h1>sort<\/h1>\n<p>  \u041a\u043e\u043c\u0430\u043d\u0434\u0430 <code>sort<\/code>, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0441\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 (\u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u0438\u043b\u0438 \u0432\u0445\u043e\u0434\u043d\u043e\u043c \u043f\u043e\u0442\u043e\u043a\u0435).<\/p>\n<pre><code class=\"bash\">$ cat ingredients eggs milk butter tomatoes salt $ sort ingredients butter eggs milk salt tomatoes<\/code><\/pre>\n<p>  <code>sort -r<\/code> \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0443.<\/p>\n<pre><code class=\"bash\">$ sort -r ingredients tomatoes salt milk eggs butter<\/code><\/pre>\n<p>  <code>sort -n<\/code> \u0441\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u043f\u043e\u043b\u044f \u043f\u043e \u0438\u0445 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e.<\/p>\n<pre><code class=\"bash\">$ cat numbers 0 2 1 10 3 $ sort numbers 0 1 10 2 3 $ sort -n numbers 0 1 2 3 10<\/code><\/pre>\n<p>  <a name=\"9\"><\/a><\/p>\n<h1>uniq<\/h1>\n<p>  <code>uniq<\/code> \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0435\u0442 \u0438 \u043e\u0442\u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u044b\u0432\u0430\u0435\u0442 \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u0435 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u0438\u043b\u0438 \u0432\u0445\u043e\u0434\u043d\u043e\u043c \u043f\u043e\u0442\u043e\u043a\u0435.<\/p>\n<pre><code class=\"bash\">$ cat duplicates and one and one and two and one and two and one, two, three $ uniq duplicates and one and two and one and two and one, two, three<\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 <code>uniq<\/code> \u043e\u0442\u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u044b\u0432\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e <i>\u0441\u043e\u0441\u0435\u0434\u043d\u0438\u0435<\/i> \u0441\u0442\u0440\u043e\u043a\u0438, \u0432 \u043d\u0430\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0433\u0443\u0442 \u0435\u0449\u0451 \u043e\u0441\u0442\u0430\u0442\u044c\u0441\u044f \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u044b. \u0427\u0442\u043e\u0431\u044b \u043e\u0442\u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430, \u043d\u0443\u0436\u043d\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435.<\/p>\n<pre><code class=\"bash\">$ sort duplicates | uniq and one and one, two, three and two<\/code><\/pre>\n<p>  <code>uniq -c<\/code> \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0435\u0451 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0439.<\/p>\n<pre><code class=\"bash\">$ sort duplicates | uniq -c    3 and one    1 and one, two, three    2 and two<\/code><\/pre>\n<p>  <code>uniq -u<\/code> \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438.<\/p>\n<pre><code class=\"bash\">$ sort duplicates | uniq -u and one, two, three<\/code><\/pre>\n<p>  <\/p>\n<blockquote><p>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435. <code>uniq<\/code> \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u0432 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0438 \u0441 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u043e\u0439, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440 <code>| sort | uniq<\/code> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0441\u0435 \u0434\u0443\u0431\u043b\u0438\u0440\u0443\u044e\u0449\u0438\u0435\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0444\u0430\u0439\u043b\u0435 \u0438\u043b\u0438 \u043f\u043e\u0442\u043e\u043a\u0435.<\/p><\/blockquote>\n<p>  <a name=\"10\"><\/a><\/p>\n<h1>awk<\/h1>\n<p>  <code>awk<\/code> \u2014 \u044d\u0442\u043e \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0435\u043a\u0441\u0442\u0430: \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0443 \u043d\u0435\u0433\u043e <a href=\"https:\/\/www.gnu.org\/software\/gawk\/manual\/gawk.html\">\u0446\u0435\u043b\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/a>. \u0412 \u0447\u0451\u043c <code>awk<\/code> <i>\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e<\/i> \u0445\u043e\u0440\u043e\u0448\u00a0\u2014 \u0442\u0430\u043a \u044d\u0442\u043e \u0432 \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 \u043d\u0430 \u0441\u0442\u043e\u043b\u0431\u0446\u044b, \u0438 \u0434\u0435\u043b\u0430\u0435\u0442 \u044d\u0442\u043e \u0441 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u044b\u043c \u0431\u043b\u0435\u0441\u043a\u043e\u043c, \u043a\u043e\u0433\u0434\u0430 \u0432 \u0444\u0430\u0439\u043b\u0430\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u0448\u0430\u043d\u044b \u043f\u0440\u043e\u0431\u0435\u043b\u044b \u0438 \u0442\u0430\u0431\u044b.<\/p>\n<pre><code class=\"bash\">$ cat -t multi-columns John Smith    Doctor^ITardis Sarah-James Smith^I    Companion^ILondon Rose Tyler   Companion^ILondon<\/code><\/pre>\n<p>  <\/p>\n<blockquote><p>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435. <code>cat -t<\/code> \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u0442\u0430\u0431\u044b \u043a\u0430\u043a <code>^I<\/code>.<\/p><\/blockquote>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u0438\u043c, \u0441\u0442\u043e\u043b\u0431\u0446\u044b \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u044b \u043b\u0438\u0431\u043e \u043f\u0440\u043e\u0431\u0435\u043b\u0430\u043c\u0438, \u043b\u0438\u0431\u043e \u0442\u0430\u0431\u0443\u043b\u044f\u0446\u0438\u044f\u043c\u0438, \u0438 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043f\u0440\u043e\u0431\u0435\u043b\u043e\u0432. <code>cut<\/code> \u0437\u0434\u0435\u0441\u044c \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u0435\u043d, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043e\u0434\u043d\u0438\u043c \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c-\u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u0435\u043c. \u041d\u043e <code>awk<\/code> \u043b\u0435\u0433\u043a\u043e \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u0442\u0441\u044f \u0441 \u0442\u0430\u043a\u0438\u043c \u0444\u0430\u0439\u043b\u043e\u043c.<\/p>\n<p>  <code>awk '{ print $n }'<\/code> \u0432\u044b\u0432\u043e\u0434\u0438\u0442 n-\u0439 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0432 \u0442\u0435\u043a\u0441\u0442\u0435.<\/p>\n<pre><code class=\"bash\">$ cat multi-columns | awk '{ print $1 }' John Sarah-James Rose $ cat multi-columns | awk '{ print $3 }' Doctor Companion Companion $ cat multi-columns | awk '{ print $1,$2 }' John Smith Sarah-James Smith Rose Tyler<\/code><\/pre>\n<p>  \u0425\u043e\u0442\u044f <code>awk<\/code> \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u043d\u0430 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u043e\u043b\u044c\u0448\u0435\u0435, \u0432\u044b\u0434\u0430\u0447\u0430 \u043a\u043e\u043b\u043e\u043d\u043e\u043a \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, 99% \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043c\u043e\u0451\u043c \u043b\u0438\u0447\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435.<\/p>\n<blockquote><p>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435. <code>{ print $NF }<\/code> \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0432 \u0441\u0442\u0440\u043e\u043a\u0435.<\/p><\/blockquote>\n<p>  <a name=\"11\"><\/a><\/p>\n<h1>tr<\/h1>\n<p>  <code>tr<\/code> \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a <i>translate<\/i>. \u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u043e\u0434\u043d\u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435. \u041e\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043b\u0438\u0431\u043e \u0441 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c\u0438, \u043b\u0438\u0431\u043e \u0441 <i>\u043a\u043b\u0430\u0441\u0441\u0430\u043c\u0438<\/i> \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u0442\u0430\u043a\u0438\u043c\u0438 \u043a\u0430\u043a \u0441\u0442\u0440\u043e\u0447\u043d\u044b\u0435, \u043f\u0435\u0447\u0430\u0442\u043d\u044b\u0435, \u043f\u0440\u043e\u0431\u0435\u043b\u044b, \u0431\u0443\u043a\u0432\u0435\u043d\u043d\u043e-\u0446\u0438\u0444\u0440\u043e\u0432\u044b\u0435 \u0438 \u0442.\u00a0\u0434.<\/p>\n<p>  \u041d\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 <code>tr &lt;char1&gt; &lt;char2&gt;<\/code> \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u0432\u0441\u0435 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f &lt;char1&gt; \u043d\u0430 &lt;char2&gt;.<\/p>\n<pre><code class=\"bash\">$ echo &quot;Computers are fast&quot; | tr a A computers Are fAst<\/code><\/pre>\n<p>  <code>tr<\/code> \u043c\u043e\u0436\u0435\u0442 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u044c \u043a\u043b\u0430\u0441\u0441\u044b \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u043e\u0442\u0430\u0446\u0438\u0438 <code>[:class:]<\/code>. \u041f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043e\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 <code>tr<\/code>, \u043d\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c \u0437\u0434\u0435\u0441\u044c.<\/p>\n<p>  <code>[:space:]<\/code> \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0441\u0435 \u0442\u0438\u043f\u044b \u043f\u0440\u043e\u0431\u0435\u043b\u043e\u0432, \u043e\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0431\u0435\u043b\u0430 \u0434\u043e \u0442\u0430\u0431\u0443\u043b\u044f\u0446\u0438\u0438 \u0438\u043b\u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438.<\/p>\n<pre><code class=\"bash\">$ echo &quot;computers are fast&quot; | tr '[:space:]' ',' computers,are,fast,%<\/code><\/pre>\n<p>  \u0412\u0441\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b, \u043f\u043e\u0445\u043e\u0436\u0438\u0435 \u043d\u0430 \u043f\u0440\u043e\u0431\u0435\u043b\u044b, \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u044b \u0432 \u0437\u0430\u043f\u044f\u0442\u0443\u044e. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0441\u0438\u043c\u0432\u043e\u043b <code>%<\/code> \u0432 \u043a\u043e\u043d\u0446\u0435 \u0432\u044b\u0434\u0430\u0447\u0438 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u044e\u0449\u0435\u0439 \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438. \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u044d\u0442\u043e\u0442 \u0441\u0438\u043c\u0432\u043e\u043b \u0442\u043e\u0436\u0435 \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0451\u043d \u0432 \u0437\u0430\u043f\u044f\u0442\u0443\u044e.<\/p>\n<p>  <code>[:lower:]<\/code> \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0441\u0435 \u0441\u0442\u0440\u043e\u0447\u043d\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b, \u0430 <code>[:upper:]<\/code>\u00a0\u2014 \u0432\u0441\u0435 \u043f\u0440\u043e\u043f\u0438\u0441\u043d\u044b\u0435. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u044b\u043c.<\/p>\n<pre><code class=\"bash\">$ echo &quot;computers are fast&quot; | tr '[:lower:]' '[:upper:]' COMPUTERS ARE FAST $ echo &quot;COMPUTERS ARE FAST&quot; | tr '[:upper:]' '[:lower:]' computers are fast<\/code><\/pre>\n<p>  <code>tr -c SET1 SET2<\/code> \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u043b\u044e\u0431\u043e\u0439 \u0441\u0438\u043c\u0432\u043e\u043b, <i>\u043d\u0435<\/i> \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0432 \u043d\u0430\u0431\u043e\u0440 SET1, \u0432 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u043d\u0430\u0431\u043e\u0440\u0430 SET2. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0432\u0441\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b, \u043a\u0440\u043e\u043c\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u0433\u043b\u0430\u0441\u043d\u044b\u0445, \u0437\u0430\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u0440\u043e\u0431\u0435\u043b\u0430\u043c\u0438.<\/p>\n<pre><code class=\"bash\">$ echo &quot;computers are fast&quot; | tr -c '[aeiouy]' ' '  o  u e   a e  a<\/code><\/pre>\n<p>  <code>tr -d<\/code> \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b, \u0430 \u043d\u0435 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u0438\u0445. \u042d\u0442\u043e \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442 <code>tr &lt;char&gt; ''<\/code>.<\/p>\n<pre><code class=\"bash\">$ echo &quot;Computers Are Fast&quot; | tr -d '[:lower:]' C A F<\/code><\/pre>\n<p>  <code>tr<\/code> \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u044b \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u0441\u0435 \u0431\u0443\u043a\u0432\u044b \u043c\u0435\u0436\u0434\u0443 <i>a<\/i> \u0438 <i>e<\/i> \u0438\u043b\u0438 \u0432\u0441\u0435 \u0447\u0438\u0441\u043b\u0430 \u043c\u0435\u0436\u0434\u0443 1 \u0438 8, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043d\u043e\u0442\u0430\u0446\u0438\u044e <code>s-e<\/code>, \u0433\u0434\u0435 <code>s<\/code>\u00a0\u2014 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b, \u0430 <code>e<\/code>\u00a0\u2014 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439.<\/p>\n<pre><code class=\"bash\">$ echo &quot;computers are fast&quot; | tr 'a-e' 'x' xomputxrs xrx fxst $ echo &quot;5uch l337 5p34k&quot; | tr '1-4' 'x' 5uch lxx7 5pxxk<\/code><\/pre>\n<p>  \u041a\u043e\u043c\u0430\u043d\u0434\u0430 <code>tr -s string1<\/code> \u0441\u0436\u0438\u043c\u0430\u0435\u0442 \u0432\u0441\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0432 <code>string1<\/code> \u0432 \u043e\u0434\u043d\u043e-\u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435. \u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0439 <code>tr -s<\/code> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0437\u0430\u043c\u0435\u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u0435\u043b\u043e\u0432 \u043e\u0434\u043d\u0438\u043c.<\/p>\n<pre><code class=\"bash\">$ echo &quot;Computers         are       fast&quot; | tr -s ' ' Computers are fast<\/code><\/pre>\n<p>  <a name=\"12\"><\/a><\/p>\n<h1>fold<\/h1>\n<p>  \u041a\u043e\u043c\u0430\u043d\u0434\u0430 <code>fold<\/code> \u0441\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u0442 \u0432\u0441\u0435 \u0432\u0445\u043e\u0434\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0439 \u0448\u0438\u0440\u0438\u043d\u044b. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0442\u0435\u043a\u0441\u0442 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0434\u0438\u0441\u043f\u043b\u0435\u044f\u0445 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430. \u0422\u0430\u043a, <code>fold -w n<\/code> \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u043e \u0448\u0438\u0440\u0438\u043d\u0435 n \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432.<\/p>\n<pre><code class=\"bash\">$ cat ~\/Documents\/readme | fold -w 16 Thanks again for  reading this bo ok! I hope you're fo llowing so far!<\/code><\/pre>\n<p>  \u041a\u043e\u043c\u0430\u043d\u0434\u0430 <code>fold -s<\/code> \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u0445 \u043f\u0440\u043e\u0431\u0435\u043b\u0430. \u0415\u0451 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439, \u0447\u0442\u043e\u0431\u044b \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0438\u043c \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c.<\/p>\n<pre><code class=\"bash\">Thanks again for reading this book! I hope you're following so far!<\/code><\/pre>\n<p>  <a name=\"13\"><\/a><\/p>\n<h1>sed<\/h1>\n<p>  <code>sed<\/code> \u2014 \u044d\u0442\u043e \u043d\u0435\u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u044b\u0439 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u0435\u043a\u0441\u0442\u0430 \u0432\u043e \u0432\u0445\u043e\u0434\u043d\u043e\u043c \u043f\u043e\u0442\u043e\u043a\u0435 \u0441\u0442\u0440\u043e\u043a\u0430 \u0437\u0430 \u0441\u0442\u0440\u043e\u043a\u043e\u0439. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0438\u043b\u0438 \u0444\u0430\u0439\u043b, \u0438\u043b\u0438 <code>stdin<\/code>, \u0430 \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u0442\u043e\u0436\u0435 \u0438\u043b\u0438 \u0444\u0430\u0439\u043b, \u0438\u043b\u0438 <code>stdout<\/code>.<\/p>\n<p>  \u041a\u043e\u043c\u0430\u043d\u0434\u044b \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 \u043c\u043e\u0433\u0443\u0442 \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043e\u0434\u0438\u043d \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e <i>\u0430\u0434\u0440\u0435\u0441\u043e\u0432<\/i>, <i>\u0444\u0443\u043d\u043a\u0446\u0438\u044e<\/i> \u0438 <i>\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b<\/i>. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code class=\"bash\">[address[,address]]function[arguments]<\/code><\/pre>\n<p>  \u0425\u043e\u0442\u044f <code>sed<\/code> \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043c\u0435\u043d\u0443 \u0442\u0435\u043a\u0441\u0442\u0430 \u043a\u0430\u043a \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0451\u043d\u043d\u044b\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<h3>\u0417\u0430\u043c\u0435\u043d\u0430 \u0442\u0435\u043a\u0441\u0442\u0430<\/h3>\n<p>  \u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0437\u0430\u043c\u0435\u043d\u044b <code>sed<\/code> \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code class=\"bash\">s\/PATTERN\/REPLACEMENT\/[options]<\/code><\/pre>\n<p>  <b>\u041f\u0440\u0438\u043c\u0435\u0440<\/b>: \u0437\u0430\u043c\u0435\u043d\u0430 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u0441\u043b\u043e\u0432\u0430 \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0432 \u0444\u0430\u0439\u043b\u0435:<\/p>\n<pre><code class=\"bash\">$ cat hello hello hello hello world! hi $ cat hello | sed 's\/hello\/Hey I just met you\/' Hey I just met you hello Hey I just met you world hi<\/code><\/pre>\n<p>  \u041c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u0447\u043a\u0435 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 <code>hello<\/code>. \u0427\u0442\u043e\u0431\u044b \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c <i>\u0432\u0441\u0435<\/i> \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f <code>hello<\/code> \u0432\u043e \u0432\u0441\u0435\u0445 \u0441\u0442\u0440\u043e\u043a\u0430\u0445, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0446\u0438\u044e <code>g<\/code> (\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 <i>global<\/i>).<\/p>\n<pre><code class=\"bash\">$ cat hello | sed 's\/hello\/Hey I just met you\/g' Hey I just met you Hey I just met you Hey I just met you world hi<\/code><\/pre>\n<p>  <code>sed<\/code> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u0438, \u043a\u0440\u043e\u043c\u0435 <code>\/<\/code>, \u0447\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0443\u043b\u0443\u0447\u0448\u0430\u0435\u0442 \u0447\u0438\u0442\u0430\u0435\u043c\u043e\u0441\u0442\u044c, \u0435\u0441\u043b\u0438 \u0432 \u0441\u0430\u043c\u0438\u0445 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430\u0445 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0435\u0441\u0442\u044c \u0441\u043b\u044d\u0448\u0438.<\/p>\n<pre><code class=\"bash\">$ cat hello | sed 's@hello@Hey I just met you@g' Hey I just met you Hey I just met you Hey I just met you world hi<\/code><\/pre>\n<p>  \u0410\u0434\u0440\u0435\u0441 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0443, \u0432 \u043a\u0430\u043a\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0438\u043b\u0438 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u0441\u0442\u0440\u043e\u043a \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443.<\/p>\n<pre><code class=\"bash\">$ cat hello | sed '1s\/hello\/Hey I just met you\/g' Hey I just met you hello hello world hi $ cat hello | sed '2s\/hello\/Hey I just met you\/g' hello hello Hey I just met you  world hi<\/code><\/pre>\n<p>  \u0410\u0434\u0440\u0435\u0441 <code>1<\/code> \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0437\u0430\u043c\u0435\u043d\u044f\u0442\u044c <code>hello<\/code> \u043d\u0430 <code>Hey I just met you<\/code> \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435. \u041c\u043e\u0436\u0435\u043c \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0432 \u043d\u043e\u0442\u0430\u0446\u0438\u0438 <code>&lt;start&gt;,&lt;end&gt;<\/code>, \u0433\u0434\u0435 <code>&lt;end&gt;<\/code> \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043b\u0438\u0431\u043e \u043d\u043e\u043c\u0435\u0440\u043e\u043c \u0441\u0442\u0440\u043e\u043a\u0438, \u043b\u0438\u0431\u043e <code>$<\/code>, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439 \u0432 \u0444\u0430\u0439\u043b\u0435.<\/p>\n<pre><code class=\"bash\">$ cat hello | sed '1,2s\/hello\/Hey I just met you\/g' Hey I just met you Hey I just met you Hey I just met you world hi $ cat hello | sed '2,3s\/hello\/Hey I just met you\/g' hello hello Hey I just met you world hi $ cat hello | sed '2,$s\/hello\/Hey I just met you\/g' hello hello Hey I just met you world hi<\/code><\/pre>\n<p>  \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e <code>sed<\/code> \u0432\u044b\u0434\u0430\u0451\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432 \u0441\u0432\u043e\u0439 <code>stdout<\/code>, \u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0441 \u043e\u043f\u0446\u0438\u0435\u0439 <code>-i<\/code>.<\/p>\n<pre><code class=\"bash\">$ sed -i '' 's\/hello\/Bonjour\/' sed-data $ cat sed-data Bonjour hello Bonjour world hi<\/code><\/pre>\n<p>  <\/p>\n<blockquote><p>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435. \u0412 Linux \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e <code>-i<\/code>. \u041d\u043e \u0432 macOS \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 <code>-i<\/code> \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c <code>''<\/code>.<\/p><\/blockquote>\n<p>  <a name=\"14\"><\/a><\/p>\n<h1>\u0420\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b<\/h1>\n<p>  <\/p>\n<h3>\u0424\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f CSV \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e grep \u0438 awk<\/h3>\n<p>  <\/p>\n<pre><code class=\"bash\">$ grep -w gauge metadata.csv | awk -F, '{ if ($4 == &quot;query&quot;) { print $1, &quot;per&quot;, $5 } }' mysql.performance.com_delete per second mysql.performance.com_delete_multi per second mysql.performance.com_insert per second mysql.performance.com_insert_select per second mysql.performance.com_replace_select per second mysql.performance.com_select per second mysql.performance.com_update per second mysql.performance.com_update_multi per second mysql.performance.questions per second mysql.performance.slow_queries per second mysql.performance.queries per second<\/code><\/pre>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 <code>grep<\/code> \u0432 \u0444\u0430\u0439\u043b\u0435 <code>metadata.csv<\/code> \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0444\u0438\u043b\u044c\u0442\u0440\u0443\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0438, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435 \u0441\u043b\u043e\u0432\u043e <code>gauge<\/code>, \u0437\u0430\u0442\u0435\u043c \u0442\u0435, \u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 <code>query<\/code> \u0432 \u0447\u0435\u0442\u0432\u0451\u0440\u0442\u043e\u0439 \u043a\u043e\u043b\u043e\u043d\u043a\u0435, \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 (1-\u044f \u043a\u043e\u043b\u043e\u043d\u043a\u0430) \u0441 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c <code>per_unit_name<\/code> (5-\u044f \u043a\u043e\u043b\u043e\u043d\u043a\u0430).<\/p>\n<h3>\u0412\u044b\u0432\u043e\u0434 \u0430\u0434\u0440\u0435\u0441\u0430 IPv4, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0441 \u0441\u0435\u0442\u0435\u0432\u044b\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c<\/h3>\n<p>  <\/p>\n<pre><code class=\"bash\">$ ifconfig en0 | grep inet | grep -v inet6 | awk '{ print $2 }' 192.168.0.38<\/code><\/pre>\n<p>  \u041a\u043e\u043c\u0430\u043d\u0434\u0430 <code>ifconfig &lt;interface name&gt;<\/code> \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c\u0443 \u0441\u0435\u0442\u0435\u0432\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code class=\"bash\">en0: flags=8863&lt;UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500     ether 19:64:92:de:20:ba     inet6 fe80::8a3:a1cb:56ae:7c7c%en0 prefixlen 64 secured scopeid 0x7     inet 192.168.0.38 netmask 0xffffff00 broadcast 192.168.0.255     nd6 options=201&lt;PERFORMNUD,DAD&gt;     media: autoselect     status: active<\/code><\/pre>\n<p>  \u0417\u0430\u0442\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c <code>grep<\/code> \u0434\u043b\u044f <code>inet<\/code>, \u0447\u0442\u043e \u0432\u044b\u0434\u0430\u0441\u0442 \u0434\u0432\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f.<\/p>\n<pre><code class=\"bash\">$ ifconfig en0 | grep inet     inet6 fe80::8a3:a1cb:56ae:7c7c%en0 prefixlen 64 secured scopeid 0x7     inet 192.168.0.38 netmask 0xffffff00 broadcast 192.168.0.255<\/code><\/pre>\n<p>  \u0417\u0430\u0442\u0435\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>grep -v<\/code> \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0443 \u0441 <code>ipv6<\/code>.<\/p>\n<pre><code class=\"bash\">$ ifconfig en0 | grep inet | grep -v inet6 inet 192.168.0.38 netmask 0xffffff00 broadcast 192.168.0.255<\/code><\/pre>\n<p>  \u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>awk<\/code> \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435: \u044d\u0442\u043e IPv4-\u0430\u0434\u0440\u0435\u0441, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0439 \u0441 \u043d\u0430\u0448\u0438\u043c \u0441\u0435\u0442\u0435\u0432\u044b\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c <code>en0<\/code>.<\/p>\n<pre><code class=\"bash\">$ ifconfig en0 | grep inet | grep -v inet6 | awk '{ print $2 }' 192.168.0.38<\/code><\/pre>\n<p>  <\/p>\n<blockquote><p>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435. \u041c\u043d\u0435 <a href=\"https:\/\/www.reddit.com\/r\/bash\/comments\/finbd2\/beginner_friendly_introduction_to_the_shell_text\/fki8523\/?context=3\">\u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b\u0438<\/a> \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c <code>grep inet | grep -v inet6<\/code> \u0442\u0430\u043a\u043e\u0439 \u043d\u0430\u0434\u0451\u0436\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <code>awk<\/code>:<\/p>\n<pre><code class=\"bash\">$ ifconfig en0 | awk ' $1 == &quot;inet&quot; { print $2 }' 192.168.0.38<\/code><\/pre>\n<p>  \u041e\u043d\u0430 \u043a\u043e\u0440\u043e\u0447\u0435 \u0438 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e \u043d\u0430\u0446\u0435\u043b\u0435\u043d\u0430 \u043d\u0430 IPv4 \u0441 \u0443\u0441\u043b\u043e\u0432\u0438\u0435\u043c <code>$1 == &quot;inet&quot;<\/code>.<\/p><\/blockquote>\n<p>  <\/p>\n<h3>\u0418\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438\u0437 \u0444\u0430\u0439\u043b\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438<\/h3>\n<p>  <\/p>\n<pre><code class=\"bash\">$ grep 'editor =' ~\/.gitconfig  | cut -d = -f2 | sed 's\/ \/\/g' \/usr\/bin\/vim<\/code><\/pre>\n<p>  \u0412 \u0444\u0430\u0439\u043b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 git \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438\u0449\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>editor =<\/code>, \u043e\u0431\u0440\u0435\u0437\u0430\u0435\u043c \u0437\u043d\u0430\u043a <code>=<\/code>, \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u043c \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0438 \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0432\u0441\u0435 \u043f\u0440\u043e\u0431\u0435\u043b\u044b \u0432\u043e\u043a\u0440\u0443\u0433.<\/p>\n<pre><code class=\"bash\">$ grep 'editor =' ~\/.gitconfig      editor = \/usr\/bin\/vim $ grep 'editor =' ~\/.gitconfig  | cut -d'=' -f2  \/usr\/bin\/vim $ grep 'editor =' ~\/.gitconfig  | cut -d'=' -f2 | sed 's\/ \/\/' \/usr\/bin\/vim<\/code><\/pre>\n<p>  <\/p>\n<h3>\u0418\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 IP-\u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430 \u0436\u0443\u0440\u043d\u0430\u043b\u0430<\/h3>\n<p>  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434 \u0438\u0449\u0435\u0442 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b\u0435 \u0411\u0414 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 <code>Too many connections from<\/code> (\u0437\u0430 \u043d\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u0435\u0442 IP-\u0430\u0434\u0440\u0435\u0441) \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u0434\u0435\u0441\u044f\u0442\u044c \u0433\u043b\u0430\u0432\u043d\u044b\u0445 \u043d\u0430\u0440\u0443\u0448\u0438\u0442\u0435\u043b\u0435\u0439.<\/p>\n<pre><code class=\"bash\">$ grep 'Too many connections from' db.log | \\   awk '{ print $12 }' | \\   sed 's@\/@@' | \\   sort | \\   uniq -c | \\   sort -rn | \\   head -n 10 | \\   awk '{ print $2 }'    10.11.112.108    10.11.111.70    10.11.97.57    10.11.109.72    10.11.116.156    10.11.100.221    10.11.96.242    10.11.81.68    10.11.99.112    10.11.107.120<\/code><\/pre>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u044d\u0442\u043e\u0442 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u0442\u0440\u043e\u043a\u0430 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b\u0435.<\/p>\n<pre><code class=\"bash\">$ grep &quot;Too many connections from&quot; db.log | head -n 1 2020-01-01 08:02:37,617 [myid:1] - WARN  [NIOServerCxn.Factory:1.2.3.4\/1.2.3.4:2181:NIOServerCnxnFactory@193] - Too many connections from \/10.11.112.108 - max is 60<\/code><\/pre>\n<p>  \u0417\u0430\u0442\u0435\u043c <code>awk '{ print $12 }'<\/code> \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u0438\u0437 \u0441\u0442\u0440\u043e\u043a\u0438 IP-\u0430\u0434\u0440\u0435\u0441.<\/p>\n<pre><code class=\"bash\">$ grep &quot;Too many connections from&quot; db.log | awk '{ print $12 }' \/10.11.112.108 ...<\/code><\/pre>\n<p>  \u041a\u043e\u043c\u0430\u043d\u0434\u0430 <code>sed 's@\/@@'<\/code> \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u043b\u044d\u0448.<\/p>\n<pre><code class=\"bash\">$ grep &quot;Too many connections from&quot; db.log | awk '{ print $12 }' | sed 's@\/@@' 10.11.112.108 ...<\/code><\/pre>\n<p>  <\/p>\n<blockquote><p>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435. \u041a\u0430\u043a \u043c\u044b \u0443\u0436\u0435 \u0432\u0438\u0434\u0435\u043b\u0438 \u0440\u0430\u043d\u0435\u0435, \u0432 <code>sed<\/code> \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c. \u0425\u043e\u0442\u044f \u043e\u0431\u044b\u0447\u043d\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f <code>\/<\/code>, \u0437\u0434\u0435\u0441\u044c \u043c\u044b \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e\u0442 \u0441\u0438\u043c\u0432\u043e\u043b, \u0447\u0442\u043e \u0441\u043b\u0435\u0433\u043a\u0430 \u0443\u0445\u0443\u0434\u0448\u0438\u0442 \u0447\u0438\u0442\u0430\u0435\u043c\u043e\u0441\u0442\u044c \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438.<\/p>\n<pre><code class=\"bash\">sed 's\/\\\/\/\/'<\/code><\/pre>\n<\/blockquote>\n<p>  <code>sort | uniq -c<\/code> \u0441\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 IP-\u0430\u0434\u0440\u0435\u0441\u0430 \u0432 \u043b\u0435\u043a\u0441\u0438\u043a\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0430 \u0437\u0430\u0442\u0435\u043c \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u044b, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044f \u043f\u0435\u0440\u0435\u0434 IP-\u0430\u0434\u0440\u0435\u0441\u0430\u043c\u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0439 \u043a\u0430\u0436\u0434\u043e\u0433\u043e.<\/p>\n<pre><code class=\"bash\">$ grep 'Too many connections from' db.log | \\   awk '{ print $12 }' | \\   sed 's@\/@@' | \\   sort | \\   uniq -c    1379 10.11.100.221    1213 10.11.103.168    1138 10.11.105.177     946 10.11.106.213    1211 10.11.106.4    1326 10.11.107.120    ...<\/code><\/pre>\n<p>  <code>sort -rn | head -n 10<\/code> \u0441\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0439, \u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e \u0438 \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0447\u0442\u043e\u0431\u044b \u0433\u043b\u0430\u0432\u043d\u044b\u0435 \u043d\u0430\u0440\u0443\u0448\u0438\u0442\u0435\u043b\u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u043b\u0438\u0441\u044c \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442\u0441\u044f 10 \u0441\u0442\u0440\u043e\u043a. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 <code>awk { print $2 }<\/code> \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u0441\u0430\u043c\u0438 IP-\u0430\u0434\u0440\u0435\u0441\u0430.<\/p>\n<pre><code class=\"bash\">$ grep 'Too many connections from' db.log | \\   awk '{ print $12 }' | \\   sed 's@\/@@' | \\   sort | \\   uniq -c | \\   sort -rn | \\   head -n 10 | \\   awk '{ print $2 }'   10.11.112.108   10.11.111.70   10.11.97.57   10.11.109.72   10.11.116.156   10.11.100.221   10.11.96.242   10.11.81.68   10.11.99.112   10.11.107.120<\/code><\/pre>\n<p>  <\/p>\n<h3>\u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435<\/h3>\n<p>  \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e \u043c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u043d\u0430\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c \u0438 \u0445\u043e\u0442\u0435\u043b\u0438 \u0431\u044b \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0434\u0430\u0447\u043d\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e (\u0438\u043b\u0438 \u043a\u043b\u0430\u0441\u0441, \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0438 \u0442. \u0434.) \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435. \u041c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>sed -i<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0437\u0430\u043c\u0435\u043d\u0443 \u043f\u0440\u044f\u043c\u043e \u0432 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435.<\/p>\n<pre><code class=\"bash\">$ cat izk\/utils.py def bool_from_str(s):     if s.isdigit():         return int(s) == 1     return s.lower() in ['yes', 'true', 'y']<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"bash\">$ sed -i 's\/def bool_from_str\/def is_affirmative\/' izk\/utils.py $ cat izk\/utils.py def is_affirmative(s):     if s.isdigit():         return int(s) == 1     return s.lower() in ['yes', 'true', 'y']<\/code><\/pre>\n<p>  <\/p>\n<blockquote><p>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435. \u041d\u0430 macOS \u0432\u043c\u0435\u0441\u0442\u043e <code>sed -i<\/code> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 <code>sed -i ''<\/code>.<\/p><\/blockquote>\n<p>  \u041e\u0434\u043d\u0430\u043a\u043e \u043c\u044b \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435. \u042d\u0442\u043e \u0441\u043b\u043e\u043c\u0430\u0435\u0442 \u0438\u043c\u043f\u043e\u0440\u0442 <code>bool_from_str<\/code> \u0432 \u043b\u044e\u0431\u043e\u043c \u0434\u0440\u0443\u0433\u043e\u043c \u0444\u0430\u0439\u043b\u0435, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430. \u041d\u0443\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0442\u044c <code>bool_from_str<\/code> \u043f\u043e\u0432\u0441\u044e\u0434\u0443 \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435. \u0422\u0430\u043a\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434 <code>grep<\/code>, <code>sed<\/code>, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0446\u0438\u043a\u043b\u043e\u0432 <code>for<\/code> \u0438\u043b\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>xargs<\/code>.<\/p>\n<p>  <a name=\"15\"><\/a><\/p>\n<h1>\u0423\u0433\u043b\u0443\u0431\u043b\u044f\u0435\u043c\u0441\u044f: \u0446\u0438\u043a\u043b\u044b <code>for<\/code> \u0438 <code>xargs<\/code><\/h1>\n<p>  \u0427\u0442\u043e\u0431\u044b \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0432\u0441\u0435 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f <code>bool_from_str<\/code>, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0438\u0445 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>grep -r<\/code>.<\/p>\n<pre><code class=\"bash\">$ grep -r bool_from_str . .\/tests\/test_utils.py:from izk.utils import bool_from_str .\/tests\/test_utils.py:def test_bool_from_str(s, expected): .\/tests\/test_utils.py:    assert bool_from_str(s) == expected .\/izk\/utils.py:def bool_from_str(s): .\/izk\/prompt.py:from .utils import bool_from_str .\/izk\/prompt.py:                    default = bool_from_str(os.environ[envvar])<\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043d\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u0439\u043b\u044b c \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f\u043c\u0438, \u0442\u0430\u043a\u0436\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0446\u0438\u044e <code>-l\/--files-with-matches<\/code>:<\/p>\n<pre><code class=\"bash\">-l, --files-with-matches         Only the names of files containing selected lines are written to standard out-         put.  grep will only search a file until a match has been found, making         searches potentially less expensive.  Pathnames are listed once per file         searched.  If the standard input is searched, the string ``(standard input)''         is written.<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"bash\">$ grep -r --files-with-matches bool_from_str . .\/tests\/test_utils.py .\/izk\/utils.py .\/izk\/prompt.py<\/code><\/pre>\n<p>  \u0417\u0430\u0442\u0435\u043c \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <code>xargs<\/code> \u0434\u043b\u044f \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0441 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0442\u043e \u0435\u0441\u0442\u044c \u0432\u0441\u0435\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0445 \u0441\u0442\u0440\u043e\u043a\u0443 <code>bool_from_str<\/code>).<\/p>\n<pre><code class=\"bash\">$ grep -r --files-with-matches bool_from_str . | \\   xargs -n 1 sed -i 's\/bool_from_str\/is_affirmative\/'<\/code><\/pre>\n<p>  \u041e\u043f\u0446\u0438\u044f <code>-n 1<\/code> \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0432 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <code>sed<\/code>.<\/p>\n<p>  \u0417\u0430\u0442\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"bash\">$ sed -i 's\/bool_from_str\/is_affirmative\/' .\/tests\/test_utils.py $ sed -i 's\/bool_from_str\/is_affirmative\/' .\/izk\/utils.py $ sed -i 's\/bool_from_str\/is_affirmative\/' .\/izk\/prompt.py<\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0432\u044b \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>xargs<\/code> (\u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 <code>sed<\/code>), \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u0442\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0442\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 <code>-n 1<\/code> \u0434\u043b\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/p>\n<pre><code class=\"bash\">grep -r --files-with-matches bool_from_str . | xargs sed -i 's\/bool_from_str\/is_affirmative\/'<\/code><\/pre>\n<p>  \u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0437\u0430\u0442\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442<\/p>\n<pre><code class=\"bash\">$ sed -i 's\/bool_from_str\/is_affirmative\/' .\/tests\/test_utils.py .\/izk\/utils.py .\/izk\/prompt.py<\/code><\/pre>\n<p>  <\/p>\n<blockquote><p>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435. \u0418\u0437 \u0441\u0438\u043d\u043e\u043f\u0441\u0438\u0441\u0430 <code>sed<\/code> \u043d\u0430 \u043c\u0430\u043d-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432.<\/p>\n<pre><code class=\"bash\">SYNOPSIS      sed [-Ealn] command [file ...]      sed [-Ealn] [-e command] [-f command_file] [-i extension] [file ...]<\/code><\/pre>\n<p>  \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u043a\u0430\u043a \u043c\u044b \u0432\u0438\u0434\u0435\u043b\u0438 \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0433\u043b\u0430\u0432\u0435, <code>file ...<\/code> \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 \u0441\u043e\u0431\u043e\u0439 \u0438\u043c\u0435\u043d\u0430 \u0444\u0430\u0439\u043b\u043e\u0432.<\/p><\/blockquote>\n<p>  \u041c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u044b \u0437\u0430\u043c\u0435\u043d\u044b \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0439 <code>bool_from_str<\/code>.<\/p>\n<pre><code class=\"bash\">$ grep -r is_affirmative . .\/tests\/test_utils.py:from izk.utils import is_affirmative .\/tests\/test_utils.py:def test_is_affirmative(s, expected): .\/tests\/test_utils.py:    assert is_affirmative(s) == expected .\/izk\/utils.py:def is_affirmative(s): .\/izk\/prompt.py:from .utils import is_affirmative .\/izk\/prompt.py:                    default = is_affirmative(os.environ[envvar])<\/code><\/pre>\n<p>  \u041a\u0430\u043a \u044d\u0442\u043e \u0447\u0430\u0441\u0442\u043e \u0431\u044b\u0432\u0430\u0435\u0442, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u0438 \u0442\u043e\u0433\u043e \u0436\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430. \u0412\u043c\u0435\u0441\u0442\u043e <code>xargs<\/code> \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0446\u0438\u043a\u043b\u044b <code>for<\/code>, \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u043e \u0441\u043f\u0438\u0441\u043a\u0443 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043d\u0430\u0434 \u043a\u0430\u0436\u0434\u044b\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u043c. \u0423 \u044d\u0442\u0438\u0445 \u0446\u0438\u043a\u043b\u043e\u0432 \u0442\u0430\u043a\u043e\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441:<\/p>\n<pre><code class=\"bash\">for item in list; do     command $item done<\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u043e\u0431\u0435\u0440\u043d\u0443\u0442\u044c \u043d\u0430\u0448\u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <code>grep<\/code> \u0432 <code>$()<\/code>, \u0442\u043e \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442 \u0435\u0451 \u0432 <i>\u043f\u043e\u0434\u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0435<\/i>, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0447\u0435\u0433\u043e \u0437\u0430\u0442\u0435\u043c \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0432\u0442\u043e\u0440\u0451\u043d \u0432 \u0446\u0438\u043a\u043b\u0435 <code>for<\/code>.<\/p>\n<pre><code class=\"bash\">$ for file in $(grep -r --files-with-matches bool_from_str .); do   sed -i 's\/bool_from_str\/is_affirmative\/' $file done<\/code><\/pre>\n<p>  \u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442<\/p>\n<pre><code class=\"bash\">$ sed -i 's\/bool_from_str\/is_affirmative\/' .\/tests\/test_utils.py $ sed -i 's\/bool_from_str\/is_affirmative\/' .\/izk\/utils.py $ sed -i 's\/bool_from_str\/is_affirmative\/' .\/izk\/prompt.py<\/code><\/pre>\n<p>  \u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0446\u0438\u043a\u043b\u043e\u0432 <code>for<\/code> \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043c\u043d\u0435 \u0431\u043e\u043b\u0435\u0435 \u0447\u0451\u0442\u043a\u0438\u043c, \u0447\u0435\u043c \u0443 <code>xargs<\/code>, \u043e\u0434\u043d\u0430\u043a\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b <code>-P n<\/code>, \u0433\u0434\u0435 <code>n<\/code> \u2014 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e, \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0434\u0430\u0442\u044c \u0432\u044b\u0438\u0433\u0440\u044b\u0448 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>  <a name=\"16\"><\/a><\/p>\n<h1>\u0420\u0435\u0437\u044e\u043c\u0435<\/h1>\n<p>  \u0412\u0441\u0435 \u044d\u0442\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u044e\u0442 \u0446\u0435\u043b\u044b\u0439 \u043c\u0438\u0440 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0442\u044c \u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0446\u0435\u043b\u044b\u0435 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u044b \u0438\u0437 \u043a\u043e\u043c\u0430\u043d\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0430\u043b\u0438\u0441\u044c \u0434\u043b\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b. \u041a\u0430\u0436\u0434\u0430\u044f \u0438\u0437 \u043d\u0438\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e (\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 <code>sort<\/code>, \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 <code>cat<\/code>, \u0444\u0438\u043b\u044c\u0442\u0440\u044b <code>grep<\/code>, \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 <code>sed<\/code>, \u0432\u044b\u0440\u0435\u0437\u0430\u043d\u0438\u0435 <code>cut<\/code> \u0438 \u0442. \u0434.).<\/p>\n<p>  \u041b\u044e\u0431\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0443\u044e \u0442\u0435\u043a\u0441\u0442, \u043c\u043e\u0436\u043d\u043e \u0441\u0432\u0435\u0441\u0442\u0438 \u043a \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0443 \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u043b\u043a\u0438\u0445 \u0437\u0430\u0434\u0430\u0447, \u043a\u0430\u0436\u0434\u0430\u044f \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442 \u0441\u0432\u043e\u0438 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443.<\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u043d\u0430\u043c \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0443\u0437\u043d\u0430\u0442\u044c, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 IP-\u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0432 \u0444\u0430\u0439\u043b\u0435 \u0436\u0443\u0440\u043d\u0430\u043b\u0430, \u0438 \u0447\u0442\u043e\u0431\u044b \u044d\u0442\u0438 IP-\u0430\u0434\u0440\u0435\u0441\u0430 \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u043e\u044f\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0432 \u043e\u0434\u043d\u043e\u043c \u0438 \u0442\u043e\u043c \u0436\u0435 \u0441\u0442\u043e\u043b\u0431\u0446\u0435, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434:<\/p>\n<ul>\n<li><code>grep<\/code> \u0441\u0442\u0440\u043e\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0448\u0430\u0431\u043b\u043e\u043d\u0443 \u0441\u0442\u0440\u043e\u043a \u0441 IP-\u0430\u0434\u0440\u0435\u0441\u0430\u043c\u0438  <\/li>\n<li>\u043d\u0430\u0439\u0442\u0438 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0441 IP-\u0430\u0434\u0440\u0435\u0441\u043e\u043c, \u0438\u0437\u0432\u043b\u0435\u0447\u044c \u0435\u0433\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>awk<\/code>  <\/li>\n<li>\u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a IP-\u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>sort<\/code>  <\/li>\n<li>\u0443\u0441\u0442\u0440\u0430\u043d\u0438\u0442\u044c \u0441\u043c\u0435\u0436\u043d\u044b\u0435 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>uniq<\/code>  <\/li>\n<li>\u043f\u043e\u0434\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0440\u043e\u043a (\u0442\u043e \u0435\u0441\u0442\u044c \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 IP-\u0430\u0434\u0440\u0435\u0441\u043e\u0432) \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>wc -l<\/code><\/li>\n<\/ul>\n<p>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0435\u0441\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u0438 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0435\u043a\u0441\u0442\u0430, \u0442\u0430\u043a\u0436\u0435 \u043c\u043d\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0440\u0435\u0448\u0438\u0442\u044c \u043b\u044e\u0431\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443.<\/p>\n<p>  \u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u044b\u043b\u0438 \u043d\u0430\u0434\u0443\u043c\u0430\u043d\u043d\u044b\u043c\u0438, \u043d\u043e \u044f \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0432\u0430\u043c \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0443\u0434\u0438\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e <a href=\"https:\/\/habr.com\/ru\/post\/267697\/\">\u00ab\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0432 235 \u0440\u0430\u0437 \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c \u0432\u0430\u0448 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 Hadoop\u00bb<\/a>, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e \u0442\u043e\u043c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u044b \u0438 \u043c\u043e\u0449\u043d\u044b \u044d\u0442\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0438 \u043a\u0430\u043a\u0438\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0440\u0435\u0448\u0438\u0442\u044c.<\/p>\n<p>  <a name=\"17\"><\/a><\/p>\n<h1>\u0427\u0442\u043e \u0434\u0430\u043b\u044c\u0448\u0435<\/h1>\n<p>  <\/p>\n<ol>\n<li>\u041f\u043e\u0434\u0441\u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0444\u0430\u0439\u043b\u043e\u0432 \u0438 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432, \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u0432 \u0432\u0430\u0448\u0435\u043c \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435.  <\/li>\n<li>\u041e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u043d\u044b\u043c\u0438 \u0431\u0443\u043a\u0432\u0430\u043c\u0438.  <\/li>\n<li>\u041f\u043e\u0434\u0441\u0447\u0438\u0442\u0430\u0439\u0442\u0435, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u043b\u043e\u0441\u044c \u043a\u0430\u0436\u0434\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u0432 \u0444\u0430\u0439\u043b\u0435.  <\/li>\n<li>\u041f\u043e\u0434\u0441\u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0433\u043b\u0430\u0441\u043d\u044b\u0445 \u0432 \u0444\u0430\u0439\u043b\u0435. \u041e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0442 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0451\u043d\u043d\u043e\u0439 \u0434\u043e \u043d\u0430\u0438\u043c\u0435\u043d\u0435\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0451\u043d\u043d\u043e\u0439 \u0431\u0443\u043a\u0432\u044b.<\/li>\n<\/ol>\n<p>  <\/p>\n<hr>\n<p>  <i>\u0411\u0443\u0434\u0443\u0449\u0430\u044f \u043a\u043d\u0438\u0433\u0430 \u00ab\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f\u00bb (Essential Tools and Practices for the Aspiring Software Developer) \u0411\u0430\u043b\u044c\u0442\u0430\u0437\u0430\u0440\u0430 \u0420\u0443\u0431\u0435\u0440\u043e\u043b\u044f \u0438 <a href=\"https:\/\/etnbrd.com\/\">\u042d\u0442\u044c\u0435\u043d\u0430 \u0411\u0440\u043e\u0434\u0443<\/a> \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u0441\u0440\u0435\u0434\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u044b \u0434\u043b\u044f \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u043e\u0441\u0442\u0430. \u041a\u0430\u043a \u0443\u0436\u0435 \u0431\u044b\u043b\u043e \u0441\u043a\u0430\u0437\u0430\u043d\u043e, \u043e\u043d\u0430 \u043e\u0445\u0432\u0430\u0442\u0438\u0442 \u0442\u0430\u043a\u0438\u0435 \u0442\u0435\u043c\u044b, \u043a\u0430\u043a \u043e\u0441\u0432\u043e\u0435\u043d\u0438\u0435 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430, \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0435, \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 \u043a\u043e\u0434\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>git<\/code>, \u043e\u0441\u043d\u043e\u0432\u044b SQL, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0432\u0440\u043e\u0434\u0435 <code>Make<\/code>, <code>jq<\/code> \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043e\u0441\u043d\u043e\u0432\u044b \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u043f\u043e\u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0439\u0442\u0435\u0441\u044c \u043d\u0430 <a href=\"https:\/\/balthazar-rouberol.us4.list-manage.com\/subscribe?u=1f6080d496af07a836270ff1d&amp;id=81ebd36adb\">\u0441\u043f\u0438\u0441\u043e\u043a \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438<\/a>!<\/i><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/\"> https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/\">\u0417\u0434\u0435\u0441\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u0431\u0443\u0434\u0443\u0449\u0435\u0439 \u043a\u043d\u0438\u0433\u0438 \u00ab\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f\u00bb \u0411\u0430\u043b\u044c\u0442\u0430\u0437\u0430\u0440\u0430 \u0420\u0443\u0431\u0435\u0440\u043e\u043b\u044f \u0438 <a href=\"https:\/\/etnbrd.com\/\">\u042d\u0442\u044c\u0435\u043d\u0430 \u0411\u0440\u043e\u0434\u0443<\/a>. \u041a\u043d\u0438\u0433\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u043e\u043c\u043e\u0447\u044c \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u043f\u043e\u0434\u0440\u0430\u0441\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u043a\u043e\u043b\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u041e\u043d\u0430 \u043e\u0445\u0432\u0430\u0442\u0438\u0442 \u0442\u0430\u043a\u0438\u0435 \u0442\u0435\u043c\u044b, \u043a\u0430\u043a \u043e\u0441\u0432\u043e\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0441\u043e\u043b\u0438, \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0435, \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 \u043a\u043e\u0434\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>git<\/code>, \u043e\u0441\u043d\u043e\u0432\u044b SQL, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0432\u0440\u043e\u0434\u0435 <code>Make<\/code>, <code>jq<\/code> \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043e\u0441\u043d\u043e\u0432\u044b \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b. \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0430\u0432\u0442\u043e\u0440\u044b \u0443\u043f\u043e\u0440\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0430\u0434 \u044d\u0442\u0438\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c \u0438 \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u044e\u0442 \u0432\u0441\u0435\u0445 \u043f\u043e\u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 <a href=\"https:\/\/balthazar-rouberol.us4.list-manage.com\/subscribe?u=1f6080d496af07a836270ff1d&amp;id=81ebd36adb\">\u0441\u043f\u0438\u0441\u043a\u0435 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438<\/a>.<\/p>\n<h1>\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435<\/h1>\n<p>  <\/p>\n<ul>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#1\">cat<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#2\">head<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#3\">tail<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#4\">wc<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#5\">grep<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#6\">cut<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#7\">paste<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#8\">sort<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#9\">uniq<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#10\">awk<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#11\">tr<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#12\">fold<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#13\">sed<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#14\">\u0420\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#15\">\u0423\u0433\u043b\u0443\u0431\u043b\u044f\u0435\u043c\u0441\u044f: \u0446\u0438\u043a\u043b\u044b for \u0438 xargs<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#16\">\u0418\u0442\u043e\u0433\u0438<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/492932\/#17\">\u0427\u0442\u043e \u0434\u0430\u043b\u044c\u0448\u0435<\/a><\/li>\n<\/ul>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-300316","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/300316","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=300316"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/300316\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=300316"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=300316"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=300316"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}