{"id":65312,"date":"2024-09-10T08:43:08","date_gmt":"2024-09-10T08:43:08","guid":{"rendered":"https:\/\/goodwriterz.com\/site\/?p=65312"},"modified":"2024-09-10T08:43:08","modified_gmt":"2024-09-10T08:43:08","slug":"%d9%83%d9%8a%d9%81%d9%8a%d8%a9-%d9%85%d8%b9%d8%b1%d9%81%d8%a9-%d9%85%d8%a7-%d8%a5%d8%b0%d8%a7-%d9%83%d8%a7%d9%86%d8%aa-%d8%b3%d9%84%d8%b3%d9%84%d8%a9-bash-%d8%aa%d8%ad%d8%aa%d9%88%d9%8a-%d8%b9%d9%84","status":"publish","type":"post","link":"https:\/\/goodwriterz.com\/site\/%d9%83%d9%8a%d9%81%d9%8a%d8%a9-%d9%85%d8%b9%d8%b1%d9%81%d8%a9-%d9%85%d8%a7-%d8%a5%d8%b0%d8%a7-%d9%83%d8%a7%d9%86%d8%aa-%d8%b3%d9%84%d8%b3%d9%84%d8%a9-bash-%d8%aa%d8%ad%d8%aa%d9%88%d9%8a-%d8%b9%d9%84\/","title":{"rendered":"\u0643\u064a\u0641\u064a\u0629 \u0645\u0639\u0631\u0641\u0629 \u0645\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0633\u0644\u0633\u0644\u0629 Bash \u062a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u0633\u0644\u0633\u0644\u0629 \u0641\u0631\u0639\u064a\u0629 \u0639\u0644\u0649 Linux"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_68_1 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title \" >\u062c\u062f\u0648\u0644 \u0627\u0644\u0645\u062d\u062a\u0648\u064a\u0627\u062a<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/goodwriterz.com\/site\/%d9%83%d9%8a%d9%81%d9%8a%d8%a9-%d9%85%d8%b9%d8%b1%d9%81%d8%a9-%d9%85%d8%a7-%d8%a5%d8%b0%d8%a7-%d9%83%d8%a7%d9%86%d8%aa-%d8%b3%d9%84%d8%b3%d9%84%d8%a9-bash-%d8%aa%d8%ad%d8%aa%d9%88%d9%8a-%d8%b9%d9%84\/#%D9%84%D9%85%D8%A7%D8%B0%D8%A7_%D9%87%D8%B0%D8%A7_%D9%85%D9%81%D9%8A%D8%AF%D8%9F\" title=\"\u0644\u0645\u0627\u0630\u0627 \u0647\u0630\u0627 \u0645\u0641\u064a\u062f\u061f\">\u0644\u0645\u0627\u0630\u0627 \u0647\u0630\u0627 \u0645\u0641\u064a\u062f\u061f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/goodwriterz.com\/site\/%d9%83%d9%8a%d9%81%d9%8a%d8%a9-%d9%85%d8%b9%d8%b1%d9%81%d8%a9-%d9%85%d8%a7-%d8%a5%d8%b0%d8%a7-%d9%83%d8%a7%d9%86%d8%aa-%d8%b3%d9%84%d8%b3%d9%84%d8%a9-bash-%d8%aa%d8%ad%d8%aa%d9%88%d9%8a-%d8%b9%d9%84\/#%D8%A7%D9%84%D8%B9%D8%AB%D9%88%D8%B1_%D8%B9%D9%84%D9%89_%D8%B3%D9%84%D8%A7%D8%B3%D9%84_%D9%81%D8%B1%D8%B9%D9%8A%D8%A9_%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85_Bash_Builtins\" title=\"\u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0633\u0644\u0627\u0633\u0644 \u0641\u0631\u0639\u064a\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Bash Builtins\">\u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0633\u0644\u0627\u0633\u0644 \u0641\u0631\u0639\u064a\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Bash Builtins<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/goodwriterz.com\/site\/%d9%83%d9%8a%d9%81%d9%8a%d8%a9-%d9%85%d8%b9%d8%b1%d9%81%d8%a9-%d9%85%d8%a7-%d8%a5%d8%b0%d8%a7-%d9%83%d8%a7%d9%86%d8%aa-%d8%b3%d9%84%d8%b3%d9%84%d8%a9-bash-%d8%aa%d8%ad%d8%aa%d9%88%d9%8a-%d8%b9%d9%84\/#%D8%A7%D9%84%D8%B9%D8%AB%D9%88%D8%B1_%D8%B9%D9%84%D9%89_%D8%B3%D9%84%D8%A7%D8%B3%D9%84_%D9%81%D8%B1%D8%B9%D9%8A%D8%A9_%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85_grep\" title=\"\u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0633\u0644\u0627\u0633\u0644 \u0641\u0631\u0639\u064a\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 grep\">\u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0633\u0644\u0627\u0633\u0644 \u0641\u0631\u0639\u064a\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 grep<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/goodwriterz.com\/site\/%d9%83%d9%8a%d9%81%d9%8a%d8%a9-%d9%85%d8%b9%d8%b1%d9%81%d8%a9-%d9%85%d8%a7-%d8%a5%d8%b0%d8%a7-%d9%83%d8%a7%d9%86%d8%aa-%d8%b3%d9%84%d8%b3%d9%84%d8%a9-bash-%d8%aa%d8%ad%d8%aa%d9%88%d9%8a-%d8%b9%d9%84\/#%D8%A7%D9%84%D8%B9%D8%AB%D9%88%D8%B1_%D8%B9%D9%84%D9%89_%D8%B3%D9%84%D8%A7%D8%B3%D9%84_%D9%81%D8%B1%D8%B9%D9%8A%D8%A9_%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85_sed\" title=\"\u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0633\u0644\u0627\u0633\u0644 \u0641\u0631\u0639\u064a\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 sed\">\u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0633\u0644\u0627\u0633\u0644 \u0641\u0631\u0639\u064a\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 sed<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/goodwriterz.com\/site\/%d9%83%d9%8a%d9%81%d9%8a%d8%a9-%d9%85%d8%b9%d8%b1%d9%81%d8%a9-%d9%85%d8%a7-%d8%a5%d8%b0%d8%a7-%d9%83%d8%a7%d9%86%d8%aa-%d8%b3%d9%84%d8%b3%d9%84%d8%a9-bash-%d8%aa%d8%ad%d8%aa%d9%88%d9%8a-%d8%b9%d9%84\/#%D8%AA%D9%88%D9%82%D9%81_%D8%B9%D9%86_%D8%A7%D9%84%D8%A8%D8%AD%D8%AB%D8%8C_%D9%84%D9%82%D8%AF_%D9%88%D8%AC%D8%AF%D8%AA%D9%87\" title=\"\u062a\u0648\u0642\u0641 \u0639\u0646 \u0627\u0644\u0628\u062d\u062b\u060c \u0644\u0642\u062f \u0648\u062c\u062f\u062a\u0647\">\u062a\u0648\u0642\u0641 \u0639\u0646 \u0627\u0644\u0628\u062d\u062b\u060c \u0644\u0642\u062f \u0648\u062c\u062f\u062a\u0647<\/a><\/li><\/ul><\/nav><\/div>\n<div>\n<p>  \u0641\u064a \u0628\u0639\u0636 \u0627\u0644\u0623\u062d\u064a\u0627\u0646\u060c \u0641\u064a \u0646\u0635\u0648\u0635 Linux\u060c \u0642\u062f \u062a\u0631\u063a\u0628 \u0641\u064a \u0645\u0639\u0631\u0641\u0629 \u0645\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646 \u0633\u0644\u0633\u0644\u0629 \u0646\u0635\u064a\u0629 \u062a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u0633\u0644\u0633\u0644\u0629 \u0646\u0635\u064a\u0629 \u0645\u062d\u062f\u062f\u0629 \u0648\u0623\u0635\u063a\u0631 \u062d\u062c\u0645\u064b\u0627. \u0647\u0646\u0627\u0643 \u0627\u0644\u0639\u062f\u064a\u062f \u0645\u0646 \u0627\u0644\u0637\u0631\u0642 \u0644\u0644\u0642\u064a\u0627\u0645 \u0628\u0630\u0644\u0643. \u0633\u0646\u0639\u0631\u0636 \u0644\u0643 \u0628\u0639\u0636 \u0627\u0644\u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0628\u0633\u064a\u0637\u0629 \u0648\u0627\u0644\u0645\u0648\u062b\u0648\u0642\u0629. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":0,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":0,\"nbrPlacementsScanned\":0,\"ruleCount\":200,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":181} --><br \/>\n<!-- Repeatable debug data: {\"isEarlyInjection\":true,\"currentRuleCount\":200,\"actualCount\":181,\"hasActualCountMetThreshold\":true,\"countRemainingForInjection\":19,\"nextBlockCount\":356,\"hasCountRemainingForInjectionMetThreshold\":true,\"nextCount\":537} --><\/p>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":0,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":0,\"nbrPlacementsScanned\":0,\"ruleCount\":200,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":true,\"actualCount\":200} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":1,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":1,\"nbrPlacementsScanned\":0,\"ruleCount\":200,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":true,\"actualCount\":0} --><br \/>\n<!-- No winning ad found for zone: below first paragraph! --><br \/>\n<!-- No winning ad found for zone: native in content! --><\/p>\n<h2 id=\"why-is-this-useful\"><span class=\"ez-toc-section\" id=\"%D9%84%D9%85%D8%A7%D8%B0%D8%A7_%D9%87%D8%B0%D8%A7_%D9%85%D9%81%D9%8A%D8%AF%D8%9F\"><\/span>  \u0644\u0645\u0627\u0630\u0627 \u0647\u0630\u0627 \u0645\u0641\u064a\u062f\u061f <span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>  \u064a\u0639\u062f \u0627\u0644\u0628\u062d\u062b \u0639\u0646 \u0633\u0644\u0633\u0644\u0629 \u0641\u0631\u0639\u064a\u0629 \u0623\u0635\u063a\u0631 \u0641\u064a \u0633\u0644\u0633\u0644\u0629 \u0634\u0631\u0637\u064b\u0627 \u0634\u0627\u0626\u0639\u064b\u0627. \u0648\u0645\u0646 \u0627\u0644\u0623\u0645\u062b\u0644\u0629 \u0639\u0644\u0649 \u0630\u0644\u0643 \u0642\u0631\u0627\u0621\u0629 \u0646\u0635 \u0645\u0646 \u0645\u0644\u0641 \u0623\u0648 \u0645\u0646 \u0625\u062f\u062e\u0627\u0644 \u0628\u0634\u0631\u064a \u0648\u0627\u0644\u0628\u062d\u062b \u0641\u064a \u0627\u0644\u0633\u0644\u0633\u0644\u0629 \u0639\u0646 \u0633\u0644\u0633\u0644\u0629 \u0641\u0631\u0639\u064a\u0629 \u0645\u062d\u062f\u062f\u0629 \u062d\u062a\u0649 \u064a\u062a\u0645\u0643\u0646 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0646\u0635\u064a \u0627\u0644\u062e\u0627\u0635 \u0628\u0643 \u0645\u0646 \u062a\u062d\u062f\u064a\u062f \u0645\u0627 \u064a\u062c\u0628 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0647 \u0628\u0639\u062f \u0630\u0644\u0643. \u0642\u062f \u064a\u0643\u0648\u0646 \u0627\u0644\u0628\u062d\u062b \u0639\u0646 \u062a\u0633\u0645\u064a\u0629 \u0623\u0648 \u0627\u0633\u0645 \u062c\u0647\u0627\u0632 \u0641\u064a \u0645\u0644\u0641 \u062a\u0643\u0648\u064a\u0646 \u0623\u0648 \u0633\u0644\u0633\u0644\u0629 \u0623\u0648\u0627\u0645\u0631 \u0641\u064a \u0633\u0637\u0631 \u0625\u062f\u062e\u0627\u0644 \u0645\u0646 \u0645\u0633\u062a\u062e\u062f\u0645. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":1,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":1,\"nbrPlacementsScanned\":1,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":337} --><\/p>\n<p>  \u064a\u062a\u0645\u062a\u0639 \u0645\u0633\u062a\u062e\u062f\u0645\u0648 Linux \u0628\u0639\u062f\u062f \u0643\u0628\u064a\u0631 \u0645\u0646 \u0627\u0644\u0623\u062f\u0648\u0627\u062a \u0627\u0644\u0645\u0633\u0627\u0639\u062f\u0629 \u0644\u0645\u0639\u0627\u0644\u062c\u0629 \u0627\u0644\u0646\u0635\u0648\u0635. \u0628\u0639\u0636\u0647\u0627 \u0645\u062f\u0645\u062c \u0641\u064a \u063a\u0644\u0627\u0641 Bash\u060c \u0648\u0627\u0644\u0628\u0639\u0636 \u0627\u0644\u0622\u062e\u0631 \u0645\u062a\u0648\u0641\u0631 \u0643\u0623\u062f\u0648\u0627\u062a \u0645\u0633\u0627\u0639\u062f\u0629 \u0623\u0648 \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0645\u0633\u062a\u0642\u0644\u0629. \u0647\u0646\u0627\u0643 \u0633\u0628\u0628 \u0648\u0631\u0627\u0621 \u062a\u0632\u0648\u064a\u062f \u0623\u0646\u0638\u0645\u0629 \u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0645\u0634\u062a\u0642\u0629 \u0645\u0646 Unix \u0628\u0642\u062f\u0631\u0627\u062a \u0645\u0639\u0627\u0644\u062c\u0629 \u0627\u0644\u0633\u0644\u0627\u0633\u0644 \u0628\u0634\u0643\u0644 \u063a\u0646\u064a. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":1,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":1,\"nbrPlacementsScanned\":1,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":616} --><\/p>\n<p> <span class=\"related-single\">\u0630\u0627\u062a \u0635\u0644\u0629: \u0643\u064a\u0641\u064a\u0629 \u0627\u0644\u062a\u0639\u0627\u0645\u0644 \u0645\u0639 \u0627\u0644\u0633\u0644\u0627\u0633\u0644 \u0641\u064a Bash \u0639\u0644\u0649 Linux<\/span> <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":1,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":1,\"nbrPlacementsScanned\":1,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":669} --><\/p>\n<p>  \u0628\u0639\u0636 \u0627\u0644\u0623\u0634\u064a\u0627\u0621 \u0627\u0644\u062a\u064a \u062a\u0628\u062f\u0648 \u0648\u0643\u0623\u0646\u0647\u0627 \u0645\u0644\u0641\u0627\u062a \u0644\u064a\u0633\u062a \u0645\u0644\u0641\u0627\u062a \u0628\u0633\u064a\u0637\u0629. \u0625\u0646\u0647\u0627 \u0645\u0644\u0641\u0627\u062a \u062e\u0627\u0635\u0629 \u062a\u0645\u062b\u0644 \u0623\u0634\u064a\u0627\u0621 \u0645\u062b\u0644 \u0627\u0644\u0623\u062c\u0647\u0632\u0629 \u0648\u0645\u0635\u0627\u062f\u0631 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0646\u0638\u0627\u0645. \u0627\u0644\u062a\u062c\u0631\u064a\u062f \u0627\u0644\u0630\u064a \u064a\u0642\u0648\u0645 \u0628\u0647 \u0646\u0638\u0627\u0645 \u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u064a\u0639\u0637\u064a\u0647\u0627 \u0645\u0638\u0647\u0631 \u0648\u062e\u0635\u0627\u0626\u0635 \u0627\u0644\u0645\u0644\u0641\u0627\u062a. \u064a\u0645\u0643\u0646\u0643 \u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0645\u0646\u0647\u0627 &#8211; \u0643\u0646\u0635\u060c \u0628\u0637\u0628\u064a\u0639\u0629 \u0627\u0644\u062d\u0627\u0644 &#8211; \u0648\u0641\u064a \u0628\u0639\u0636 \u0627\u0644\u062d\u0627\u0644\u0627\u062a \u0627\u0644\u0643\u062a\u0627\u0628\u0629 \u0639\u0644\u064a\u0647\u0627\u060c \u0644\u0643\u0646\u0647\u0627 \u0644\u064a\u0633\u062a \u0645\u0644\u0641\u0627\u062a \u0639\u0627\u062f\u064a\u0629. <\/p>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":1,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":1,\"nbrPlacementsScanned\":1,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":1056} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":1,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":0} --><br \/>\n<!-- Repeatable debug data: {\"isEarlyInjection\":false,\"currentRuleCount\":900,\"actualCount\":0,\"hasActualCountMetThreshold\":null,\"countRemainingForInjection\":null,\"nextBlockCount\":null,\"hasCountRemainingForInjectionMetThreshold\":null} --><\/p>\n<p>  \u064a\u064f\u0633\u062a\u062e\u062f\u0645 \u0627\u0644\u0646\u0635 \u0623\u064a\u0636\u064b\u0627 \u0643\u0645\u062f\u062e\u0644 \u0648\u0645\u062e\u0631\u062c \u0644\u0644\u0623\u0648\u0627\u0645\u0631 \u0641\u064a \u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u0645\u062d\u0637\u0629 \u0627\u0644\u0637\u0631\u0641\u064a\u0629. \u0648\u0647\u0630\u0627 \u064a\u0633\u0645\u062d \u0628\u0625\u0639\u0627\u062f\u0629 \u062a\u0648\u062c\u064a\u0647 \u0627\u0644\u0645\u062f\u062e\u0644\u0627\u062a \u0648\u0627\u0644\u0645\u062e\u0631\u062c\u0627\u062a \u0648\u062a\u0648\u0632\u064a\u0639\u0647\u0627. \u0648\u062a\u062f\u0639\u0645 \u0647\u0630\u0647 \u0627\u0644\u0648\u0638\u064a\u0641\u0629 \u0627\u0644\u0642\u062f\u0631\u0629 \u0639\u0644\u0649 \u0631\u0628\u0637 \u062a\u0633\u0644\u0633\u0644\u0627\u062a \u0623\u0648\u0627\u0645\u0631 Linux \u0645\u0639\u064b\u0627\u060c \u0648\u062a\u0645\u0631\u064a\u0631 \u0627\u0644\u0645\u062e\u0631\u062c\u0627\u062a \u0645\u0646 \u0623\u0645\u0631 \u0648\u0627\u062d\u062f \u0643\u0645\u062f\u062e\u0644 \u0625\u0644\u0649 \u0627\u0644\u0623\u0645\u0631 \u0627\u0644\u062a\u0627\u0644\u064a. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":288} --><\/p>\n<p>  \u0628\u063a\u0636 \u0627\u0644\u0646\u0638\u0631 \u0639\u0646 \u0623\u0635\u0648\u0644 \u0627\u0644\u0646\u0635 \u0627\u0644\u0630\u064a \u0646\u062a\u0644\u0642\u0627\u0647\u060c \u0641\u0625\u0646 \u0627\u0644\u0628\u062d\u062b \u0639\u0646 \u0643\u0644\u0645\u0629 \u0645\u0647\u0645\u0629 \u0623\u0648 \u0623\u0645\u0631 \u0623\u0648 \u062a\u0633\u0645\u064a\u0629 \u0623\u0648 \u0623\u064a \u0645\u0624\u0634\u0631 \u0622\u062e\u0631 \u064a\u0634\u0643\u0644 \u062c\u0632\u0621\u064b\u0627 \u0623\u0633\u0627\u0633\u064a\u064b\u0627 \u0645\u0646 \u0627\u0644\u062a\u0639\u0627\u0645\u0644 \u0645\u0639 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0645\u0633\u062a\u0646\u062f\u0629 \u0625\u0644\u0649 \u0627\u0644\u0646\u0635. \u0641\u064a\u0645\u0627 \u064a\u0644\u064a \u0645\u062c\u0645\u0648\u0639\u0629 \u0645\u0646 \u0627\u0644\u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0628\u0633\u064a\u0637\u0629 \u0627\u0644\u062a\u064a \u064a\u0645\u0643\u0646\u0643 \u062a\u0636\u0645\u064a\u0646\u0647\u0627 \u0641\u064a \u0646\u0635\u0648\u0635\u0643 \u0627\u0644\u062e\u0627\u0635\u0629. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":541} --><\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":541} --><\/p>\n<h2 id=\"finding-substrings-with-bash-builtins\"><span class=\"ez-toc-section\" id=\"%D8%A7%D9%84%D8%B9%D8%AB%D9%88%D8%B1_%D8%B9%D9%84%D9%89_%D8%B3%D9%84%D8%A7%D8%B3%D9%84_%D9%81%D8%B1%D8%B9%D9%8A%D8%A9_%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85_Bash_Builtins\"><\/span>  \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0633\u0644\u0627\u0633\u0644 \u0641\u0631\u0639\u064a\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Bash Builtins <span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>  &#8220;\u0627\u0644\u0623\u0642\u0648\u0627\u0633 \u0627\u0644\u0645\u0632\u062f\u0648\u062c\u0629&#8221; <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":564} --><\/p>\n<pre><code class=\"hljs css\"><span class=\"hljs-selector-attr\">((...)<\/span>)<\/code> <\/pre>\n<p>  &#8220;\u064a\u0645\u0643\u0646 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u062e\u062a\u0628\u0627\u0631 \u0645\u0642\u0627\u0631\u0646\u0629 \u0627\u0644\u0633\u0644\u0633\u0644\u0629 \u0641\u064a <code>if<\/code> \u0639\u0628\u0627\u0631\u0627\u062a \u0644\u062a\u062d\u062f\u064a\u062f \u0645\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0633\u0644\u0633\u0644\u0629 \u0648\u0627\u062d\u062f\u0629 \u062a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u0633\u0644\u0633\u0644\u0629 \u0623\u062e\u0631\u0649. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":671} --><\/p>\n<p>  \u0627\u0646\u0633\u062e \u0647\u0630\u0627 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0646\u0635\u064a \u0625\u0644\u0649 \u0645\u062d\u0631\u0631\u060c \u062b\u0645 \u0627\u062d\u0641\u0638\u0647 \u0641\u064a \u0645\u0644\u0641 \u064a\u0633\u0645\u0649 &#8220;double.sh&#8221;. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":747} --><\/p>\n<pre>#!\/bin\/bash \n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":760} -->\n<p> if (( \"monkey\" = *\"key\"* )); then <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":795} -->\n<p> \u00a0 echo \"key is in monkey\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":823} -->\n<p> else <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":829} -->\n<p> \u00a0 echo \"key is not in monkey\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":861} -->\n<p> fi<\/p><\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":865} --><\/p>\n<p> <span class=\"related-single\">\u0630\u0627\u062a \u0635\u0644\u0629: \u0643\u064a\u0641\u064a\u0629 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0634\u0631\u0637 \u0630\u0627\u062a \u0627\u0644\u0623\u0642\u0648\u0627\u0633 \u0627\u0644\u0645\u0632\u062f\u0648\u062c\u0629 \u0641\u064a Linux<\/span> <\/p>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":928} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":0} --><br \/>\n<!-- Repeatable debug data: {\"isEarlyInjection\":false,\"currentRuleCount\":900,\"actualCount\":0,\"hasActualCountMetThreshold\":null,\"countRemainingForInjection\":null,\"nextBlockCount\":null,\"hasCountRemainingForInjectionMetThreshold\":null} --><\/p>\n<p>  \u0633\u0648\u0641 \u062a\u062d\u062a\u0627\u062c \u0625\u0644\u0649 \u062c\u0639\u0644 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0646\u0635\u064a \u0642\u0627\u0628\u0644\u0627\u064b \u0644\u0644\u062a\u0646\u0641\u064a\u0630 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 <code>chmod<\/code> \u0627\u0644\u0623\u0645\u0631. \u0647\u0630\u0647 \u062e\u0637\u0648\u0629 \u0645\u0637\u0644\u0648\u0628\u0629 \u062f\u0627\u0626\u0645\u064b\u0627 \u0644\u062c\u0639\u0644 \u0623\u064a \u0646\u0635 \u0628\u0631\u0645\u062c\u064a \u0642\u0627\u0628\u0644\u0627\u064b \u0644\u0644\u062a\u0646\u0641\u064a\u0630. \u0633\u062a\u062d\u062a\u0627\u062c \u0625\u0644\u0649 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0630\u0644\u0643 \u0641\u064a \u0643\u0644 \u0645\u0631\u0629 \u062a\u0642\u0648\u0645 \u0641\u064a\u0647\u0627 \u0628\u0625\u0646\u0634\u0627\u0621 \u0645\u0644\u0641 \u0646\u0635 \u0628\u0631\u0645\u062c\u064a. \u0627\u0633\u062a\u0628\u062f\u0644 \u0627\u0633\u0645 \u0627\u0644\u0646\u0635 \u0627\u0644\u0628\u0631\u0645\u062c\u064a \u0627\u0644\u0645\u0646\u0627\u0633\u0628 \u0641\u064a \u0643\u0644 \u062d\u0627\u0644\u0629. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":255} --><\/p>\n<pre>chmod +x double.sh<\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":275} --><\/p>\n<div class=\"body-img landscape \">\n<div class=\"responsive-img image-expandable img-article-item\">\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" width=\"644\" height=\"55\" loading=\"lazy\" alt=\"\u0625\u0646\u0634\u0627\u0621 \u0646\u0635 \u0628\u0631\u0645\u062c\u064a \u0642\u0627\u0628\u0644 \u0644\u0644\u062a\u0646\u0641\u064a\u0630 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 chmod\" data-img-url=\"https:\/\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/\u0643\u064a\u0641\u064a\u0629-\u0645\u0639\u0631\u0641\u0629-\u0645\u0627-\u0625\u0630\u0627-\u0643\u0627\u0646\u062a-\u0633\u0644\u0633\u0644\u0629-Bash-\u062a\u062d\u062a\u0648\u064a-\u0639\u0644\u0649-\u0633\u0644\u0633\u0644\u0629.png\" src=\"https:\/\/i0.wp.com\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D9%85%D8%B9%D8%B1%D9%81%D8%A9-%D9%85%D8%A7-%D8%A5%D8%B0%D8%A7-%D9%83%D8%A7%D9%86%D8%AA-%D8%B3%D9%84%D8%B3%D9%84%D8%A9-Bash-%D8%AA%D8%AD%D8%AA%D9%88%D9%8A-%D8%B9%D9%84%D9%89-%D8%B3%D9%84%D8%B3%D9%84%D8%A9.png?resize=644%2C55&#038;ssl=1\" style=\"height:auto;max-width:100%\" title=\"\">  <\/figure>\n<\/p><\/div>\n<\/p><\/div>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":515} --><\/p>\n<p>  \u062f\u0639\u0648\u0646\u0627 \u0646\u0646\u0641\u0630 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0646\u0635\u064a. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":538} --><\/p>\n<pre>.\/double.sh<\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":551} --><\/p>\n<div class=\"body-img landscape \">\n<div class=\"responsive-img image-expandable img-article-item\">\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" width=\"644\" height=\"95\" loading=\"lazy\" alt=\"\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0646\u0635\u064a double.sh\" data-img-url=\"https:\/\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725957783_579_\u0643\u064a\u0641\u064a\u0629-\u0645\u0639\u0631\u0641\u0629-\u0645\u0627-\u0625\u0630\u0627-\u0643\u0627\u0646\u062a-\u0633\u0644\u0633\u0644\u0629-Bash-\u062a\u062d\u062a\u0648\u064a-\u0639\u0644\u0649-\u0633\u0644\u0633\u0644\u0629.png\" src=\"https:\/\/i0.wp.com\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725957783_579_%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D9%85%D8%B9%D8%B1%D9%81%D8%A9-%D9%85%D8%A7-%D8%A5%D8%B0%D8%A7-%D9%83%D8%A7%D9%86%D8%AA-%D8%B3%D9%84%D8%B3%D9%84%D8%A9-Bash-%D8%AA%D8%AD%D8%AA%D9%88%D9%8A-%D8%B9%D9%84%D9%89-%D8%B3%D9%84%D8%B3%D9%84%D8%A9.png?resize=644%2C95&#038;ssl=1\" style=\"height:auto;max-width:100%\" title=\"\">  <\/figure>\n<\/p><\/div>\n<\/p><\/div>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":791} --><br \/>\n<!-- Repeatable debug data: {\"isEarlyInjection\":true,\"currentRuleCount\":900,\"actualCount\":791,\"hasActualCountMetThreshold\":true,\"countRemainingForInjection\":109,\"nextBlockCount\":244,\"hasCountRemainingForInjectionMetThreshold\":true,\"nextCount\":1035} --><\/p>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":true,\"actualCount\":900} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":true,\"actualCount\":0} --><\/p>\n<p>  \u064a\u0639\u0645\u0644 \u0647\u0630\u0627 \u0644\u0623\u0646 \u0639\u0644\u0627\u0645\u0629 \u0627\u0644\u0646\u062c\u0645\u0629 &#8221; <code>*<\/code> &#8220;\u064a\u0645\u062b\u0644 \u0623\u064a \u062a\u0633\u0644\u0633\u0644 \u0645\u0646 \u0627\u0644\u0623\u062d\u0631\u0641\u060c \u0628\u0645\u0627 \u0641\u064a \u0630\u0644\u0643 \u0639\u062f\u0645 \u0648\u062c\u0648\u062f \u0623\u062d\u0631\u0641. \u0625\u0630\u0627 \u0643\u0627\u0646 \u0627\u0644\u0633\u0644\u0633\u0644\u0629 \u0627\u0644\u0641\u0631\u0639\u064a\u0629 &#8220;key&#8221; \u0645\u0648\u062c\u0648\u062f\u0629 \u062f\u0627\u062e\u0644 \u0627\u0644\u0633\u0644\u0633\u0644\u0629 \u0627\u0644\u0645\u0633\u062a\u0647\u062f\u0641\u0629\u060c \u0645\u0639 \u0623\u0648 \u0628\u062f\u0648\u0646 \u0623\u064a \u0623\u062d\u0631\u0641 \u0623\u0645\u0627\u0645\u0647\u0627 \u0623\u0648 \u062e\u0644\u0641\u0647\u0627\u060c \u0641\u0633\u0648\u0641 \u064a\u0639\u0648\u062f \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0628\u0627\u0644\u0642\u064a\u0645\u0629 true. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":135} --><\/p>\n<p>  \u0641\u064a \u0645\u062b\u0627\u0644\u0646\u0627\u060c \u062a\u0648\u062c\u062f \u0623\u062d\u0631\u0641 \u0623\u0645\u0627\u0645 \u0627\u0644\u0633\u0644\u0633\u0644\u0629 \u0627\u0644\u0641\u0631\u0639\u064a\u0629. \u0648\u064a\u062a\u0645 \u0645\u0637\u0627\u0628\u0642\u062a\u0647\u0627 \u0628\u0627\u0644\u0639\u0644\u0627\u0645\u0629 \u0627\u0644\u0646\u062c\u0645\u064a\u0629 \u0627\u0644\u0623\u0648\u0644\u0649. \u0648\u0644\u0627 \u062a\u0648\u062c\u062f \u0623\u062d\u0631\u0641 \u062e\u0644\u0641 \u0627\u0644\u0633\u0644\u0633\u0644\u0629 \u0627\u0644\u0641\u0631\u0639\u064a\u0629\u060c \u0648\u0644\u0643\u0646 \u0646\u0638\u0631\u064b\u0627 \u0644\u0623\u0646 \u0627\u0644\u0639\u0644\u0627\u0645\u0629 \u0627\u0644\u0646\u062c\u0645\u064a\u0629 \u0644\u0627 \u062a\u062a\u0637\u0627\u0628\u0642 \u0623\u064a\u0636\u064b\u0627 \u0645\u0639 \u0623\u064a \u0623\u062d\u0631\u0641\u060c \u0641\u0625\u0646 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0644\u0627 \u064a\u0632\u0627\u0644 \u0646\u0627\u062c\u062d\u064b\u0627. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":359} --><\/p>\n<p>  \u0645\u0646 \u0623\u062c\u0644 \u0627\u0644\u0645\u0631\u0648\u0646\u0629\u060c \u064a\u0645\u0643\u0646\u0646\u0627 \u062a\u0639\u062f\u064a\u0644 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0646\u0635\u064a \u0627\u0644\u062e\u0627\u0635 \u0628\u0646\u0627 \u0644\u0644\u062a\u0639\u0627\u0645\u0644 \u0645\u0639 \u0627\u0644\u0645\u062a\u063a\u064a\u0631\u0627\u062a \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u0627\u0644\u0633\u0644\u0627\u0633\u0644 \u0627\u0644\u062d\u0631\u0641\u064a\u0629. \u0647\u0630\u0627 \u0647\u0648 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0646\u0635\u064a &#8220;double2.sh&#8221;. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":479} --><\/p>\n<pre>#!\/bin\/bash \n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":492} -->\n<p> string=\"Monkey\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":509} -->\n<p> substring=\"key\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":526} -->\n<p> if (( $string = *$substring* )); then <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":565} -->\n<p> echo \"$substring was found in $string\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":605} -->\n<p> else <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":611} -->\n<p> echo \"$substring was not found in $string\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":655} -->\n<p> fi<\/p><\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":659} --><\/p>\n<p>  \u062f\u0639\u0648\u0646\u0627 \u0646\u0631\u0649 \u0643\u064a\u0641 \u0633\u064a\u062a\u0645 \u0630\u0644\u0643. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":685} --><\/p>\n<pre>.\/double2.sh<\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":699} --><\/p>\n<div class=\"body-img landscape \">\n<div class=\"responsive-img image-expandable img-article-item\">\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" width=\"644\" height=\"95\" loading=\"lazy\" alt=\"\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0646\u0635\u064a double2.sh\" data-img-url=\"https:\/\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725957783_129_\u0643\u064a\u0641\u064a\u0629-\u0645\u0639\u0631\u0641\u0629-\u0645\u0627-\u0625\u0630\u0627-\u0643\u0627\u0646\u062a-\u0633\u0644\u0633\u0644\u0629-Bash-\u062a\u062d\u062a\u0648\u064a-\u0639\u0644\u0649-\u0633\u0644\u0633\u0644\u0629.png\" src=\"https:\/\/i0.wp.com\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725957783_129_%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D9%85%D8%B9%D8%B1%D9%81%D8%A9-%D9%85%D8%A7-%D8%A5%D8%B0%D8%A7-%D9%83%D8%A7%D9%86%D8%AA-%D8%B3%D9%84%D8%B3%D9%84%D8%A9-Bash-%D8%AA%D8%AD%D8%AA%D9%88%D9%8A-%D8%B9%D9%84%D9%89-%D8%B3%D9%84%D8%B3%D9%84%D8%A9.png?resize=644%2C95&#038;ssl=1\" style=\"height:auto;max-width:100%\" title=\"\">  <\/figure>\n<\/p><\/div>\n<\/p><\/div>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":939} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":0} --><br \/>\n<!-- Repeatable debug data: {\"isEarlyInjection\":false,\"currentRuleCount\":900,\"actualCount\":0,\"hasActualCountMetThreshold\":null,\"countRemainingForInjection\":null,\"nextBlockCount\":null,\"hasCountRemainingForInjectionMetThreshold\":null} --><\/p>\n<p>  \u064a\u0639\u0645\u0644 \u0647\u0630\u0627 \u0628\u0646\u0641\u0633 \u0627\u0644\u0637\u0631\u064a\u0642\u0629\u060c \u0645\u0639 \u0645\u064a\u0632\u0629 \u0623\u0646\u0647 \u064a\u0645\u0643\u0646\u0646\u0627 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0623\u0633\u0645\u0627\u0621 \u0627\u0644\u0645\u062a\u063a\u064a\u0631\u0627\u062a \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u0627\u0644\u0633\u0644\u0627\u0633\u0644 \u0627\u0644\u062d\u0631\u0641\u064a\u0629. \u0625\u0646 \u062a\u062d\u0648\u064a\u0644 \u062d\u0644\u0646\u0627 \u0627\u0644\u0635\u063a\u064a\u0631 \u0625\u0644\u0649 \u062f\u0627\u0644\u0629 \u0633\u064a\u0648\u0641\u0631 \u0623\u0642\u0635\u0649 \u0642\u062f\u0631 \u0645\u0646 \u0627\u0644\u0645\u0631\u0648\u0646\u0629. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":186} --><\/p>\n<p>  \u0647\u0630\u0627 \u0647\u0648 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0646\u0635\u064a &#8220;double3.sh&#8221;. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":216} --><\/p>\n<pre>#!\/bin\/bash \n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":229} -->\n<p> shopt -s nocasematch <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":251} -->\n<p> string=\"Monkey\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":268} -->\n<p> substring=\"Key\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":285} -->\n<p> capital=\"London\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":303} -->\n<p> check_substring () <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":323} -->\n<p> { <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":326} -->\n<p> if (( $1 = *$2* )); then <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":352} -->\n<p> echo \"$2 was found in $1\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":379} -->\n<p> else <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":385} -->\n<p> echo \"$2 was not found in $1\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":416} -->\n<p> fi <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":420} -->\n<p> } <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":423} -->\n<p> check_substring \"Monkey\" \"key\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":455} -->\n<p> check_substring $string $substring <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":491} -->\n<p> check_substring $string \"banana\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":525} -->\n<p> check_substring \"Wales\" $capital<\/p><\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":559} --><\/p>\n<p>  \u0646\u062d\u0646 \u0646\u0637\u0644\u0642 \u0639\u0644\u0649 <code>check_substring<\/code> \u0648\u0638\u064a\u0641\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0645\u0632\u064a\u062c \u0645\u0646 \u0627\u0644\u0645\u062a\u063a\u064a\u0631\u0627\u062a \u0648\u0627\u0644\u0633\u0644\u0627\u0633\u0644 \u0627\u0644\u062d\u0631\u0641\u064a\u0629. \u0644\u0642\u062f \u0627\u0633\u062a\u062e\u062f\u0645\u0646\u0627 <code>shopt <\/code> \u0645\u0639\u0647\u0627 <code>-s<\/code> (\u062a\u0639\u064a\u064a\u0646) \u062e\u064a\u0627\u0631 \u0644\u062a\u0639\u064a\u064a\u0646 <code>nocasematch<\/code>\u060c \u0644\u062c\u0639\u0644 \u0627\u0644\u0645\u0637\u0627\u0628\u0642\u0627\u062a \u063a\u064a\u0631 \u062d\u0633\u0627\u0633\u0629 \u0644\u062d\u0627\u0644\u0629 \u0627\u0644\u0623\u062d\u0631\u0641. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":741} --><\/p>\n<p>  \u0647\u0643\u0630\u0627 \u064a\u062a\u0645 \u062a\u0634\u063a\u064a\u0644\u0647. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":762} --><\/p>\n<pre>.\/double3.sh<\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":776} --><\/p>\n<div class=\"body-img landscape \">\n<div class=\"responsive-img image-expandable img-article-item\">\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" width=\"644\" height=\"150\" loading=\"lazy\" alt=\"\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0646\u0635\u064a double3.sh\" data-img-url=\"https:\/\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725957783_626_\u0643\u064a\u0641\u064a\u0629-\u0645\u0639\u0631\u0641\u0629-\u0645\u0627-\u0625\u0630\u0627-\u0643\u0627\u0646\u062a-\u0633\u0644\u0633\u0644\u0629-Bash-\u062a\u062d\u062a\u0648\u064a-\u0639\u0644\u0649-\u0633\u0644\u0633\u0644\u0629.png\" src=\"https:\/\/i0.wp.com\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725957783_626_%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D9%85%D8%B9%D8%B1%D9%81%D8%A9-%D9%85%D8%A7-%D8%A5%D8%B0%D8%A7-%D9%83%D8%A7%D9%86%D8%AA-%D8%B3%D9%84%D8%B3%D9%84%D8%A9-Bash-%D8%AA%D8%AD%D8%AA%D9%88%D9%8A-%D8%B9%D9%84%D9%89-%D8%B3%D9%84%D8%B3%D9%84%D8%A9.png?resize=644%2C150&#038;ssl=1\" style=\"height:auto;max-width:100%\" title=\"\">  <\/figure>\n<\/p><\/div>\n<\/p><\/div>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":1016} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":0} --><br \/>\n<!-- Repeatable debug data: {\"isEarlyInjection\":false,\"currentRuleCount\":900,\"actualCount\":0,\"hasActualCountMetThreshold\":null,\"countRemainingForInjection\":null,\"nextBlockCount\":null,\"hasCountRemainingForInjectionMetThreshold\":null} --><\/p>\n<p>  \u064a\u0645\u0643\u0646\u0646\u0627 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u062e\u062f\u0639\u0629 \u0644\u0641 \u0627\u0644\u0633\u0644\u0633\u0644\u0629 \u0627\u0644\u0641\u0631\u0639\u064a\u0629 \u0628\u0639\u0644\u0627\u0645\u0627\u062a \u0627\u0644\u0646\u062c\u0645\u0629 \u0641\u064a <code>case<\/code> \u0627\u0644\u0639\u0628\u0627\u0631\u0627\u062a \u0623\u064a\u0636\u064b\u0627. \u0647\u0630\u0627 \u0647\u0648 &#8220;case.sh&#8221;. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":105} --><\/p>\n<pre>#!\/bin\/bash \n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":118} -->\n<p> shopt -s nocasematch <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":140} -->\n<p> string=\"Wallaby\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":158} -->\n<p> substring=\"Wall\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":176} -->\n<p> case $string in <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":193} -->\n<p> *$substring*) <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":208} -->\n<p> echo \"$substring was found in $string\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":248} -->\n<p> ;; <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":252} -->\n<p> *) <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":256} -->\n<p> echo \"Nothing matched: $string\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":289} -->\n<p> ;; <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":293} -->\n<p> esac<\/p><\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":299} --><\/p>\n<p>  \u0627\u0633\u062a\u062e\u062f\u0627\u0645 <code>case<\/code> \u0639\u0628\u0627\u0631\u0627\u062a \u0628\u062f\u0644\u0627 \u0645\u0646 \u0639\u0628\u0627\u0631\u0627\u062a \u0637\u0648\u064a\u0644\u0629 \u062c\u062f\u0627 <code>if<\/code> \u064a\u0645\u0643\u0646 \u0623\u0646 \u062a\u062c\u0639\u0644 \u0627\u0644\u0639\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0628\u0631\u0627\u0645\u062c \u0627\u0644\u0646\u0635\u064a\u0629 \u0623\u0633\u0647\u0644 \u0641\u064a \u0627\u0644\u0642\u0631\u0627\u0621\u0629 \u0648\u062a\u0635\u062d\u064a\u062d \u0627\u0644\u0623\u062e\u0637\u0627\u0621. \u0625\u0630\u0627 \u0643\u0646\u062a \u0628\u062d\u0627\u062c\u0629 \u0625\u0644\u0649 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0645\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0627\u0644\u0633\u0644\u0633\u0644\u0629 \u062a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u0648\u0627\u062d\u062f\u0629 \u0645\u0646 \u0627\u0644\u0639\u062f\u064a\u062f \u0645\u0646 \u0627\u0644\u0633\u0644\u0627\u0633\u0644 \u0627\u0644\u0641\u0631\u0639\u064a\u0629 \u0627\u0644\u0645\u062d\u062a\u0645\u0644\u0629\u060c <code>case<\/code> \u0633\u064a\u0643\u0648\u0646 \u0627\u0644\u0628\u064a\u0627\u0646 \u0647\u0648 \u0627\u0644\u062e\u064a\u0627\u0631 \u0627\u0644\u0623\u0641\u0636\u0644. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":528} --><\/p>\n<pre>.\/case.sh<\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":539} --><\/p>\n<div class=\"body-img landscape \">\n<div class=\"responsive-img image-expandable img-article-item\">\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" width=\"644\" height=\"95\" loading=\"lazy\" alt=\"\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0646\u0635\u064a case.sh\" data-img-url=\"https:\/\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725957784_309_\u0643\u064a\u0641\u064a\u0629-\u0645\u0639\u0631\u0641\u0629-\u0645\u0627-\u0625\u0630\u0627-\u0643\u0627\u0646\u062a-\u0633\u0644\u0633\u0644\u0629-Bash-\u062a\u062d\u062a\u0648\u064a-\u0639\u0644\u0649-\u0633\u0644\u0633\u0644\u0629.png\" src=\"https:\/\/i0.wp.com\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725957784_309_%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D9%85%D8%B9%D8%B1%D9%81%D8%A9-%D9%85%D8%A7-%D8%A5%D8%B0%D8%A7-%D9%83%D8%A7%D9%86%D8%AA-%D8%B3%D9%84%D8%B3%D9%84%D8%A9-Bash-%D8%AA%D8%AD%D8%AA%D9%88%D9%8A-%D8%B9%D9%84%D9%89-%D8%B3%D9%84%D8%B3%D9%84%D8%A9.png?resize=644%2C95&#038;ssl=1\" style=\"height:auto;max-width:100%\" title=\"\">  <\/figure>\n<\/p><\/div>\n<\/p><\/div>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":779} --><\/p>\n<p>  \u062a\u0645 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0633\u0644\u0633\u0644\u0629 \u0627\u0644\u0641\u0631\u0639\u064a\u0629. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":804} --><\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":804} --><\/p>\n<h2 id=\"finding-substrings-with-grep\"><span class=\"ez-toc-section\" id=\"%D8%A7%D9%84%D8%B9%D8%AB%D9%88%D8%B1_%D8%B9%D9%84%D9%89_%D8%B3%D9%84%D8%A7%D8%B3%D9%84_%D9%81%D8%B1%D8%B9%D9%8A%D8%A9_%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85_grep\"><\/span>  \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0633\u0644\u0627\u0633\u0644 \u0641\u0631\u0639\u064a\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 grep <span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>  \u0628\u062e\u0644\u0627\u0641 \u0639\u0646\u0627\u0635\u0631 Bash \u0627\u0644\u0645\u0636\u0645\u0646\u0629\u060c \u0641\u0625\u0646 \u0623\u062f\u0627\u0629 \u0627\u0644\u0628\u062d\u062b \u0639\u0646 \u0627\u0644\u0646\u0635 \u0627\u0644\u0623\u0648\u0644\u0649 \u0627\u0644\u062a\u064a \u0633\u062a\u0635\u0644 \u0625\u0644\u064a\u0647\u0627 \u0639\u0644\u0649 \u0627\u0644\u0623\u0631\u062c\u062d \u0647\u064a <code>grep<\/code>.\u064a\u0645\u0643\u0646\u0646\u0627 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 <code>grep<\/code>\u0627\u0644\u0642\u062f\u0631\u0629 \u0627\u0644\u0641\u0637\u0631\u064a\u0629 \u0644\u0644\u0625\u0646\u0633\u0627\u0646 \u0639\u0644\u0649 \u0627\u0644\u0628\u062d\u062b \u0639\u0646 \u0633\u0644\u0633\u0644\u0629 \u062f\u0627\u062e\u0644 \u0633\u0644\u0633\u0644\u0629 \u0644\u0644\u0628\u062d\u062b \u0639\u0646 \u0633\u0644\u0627\u0633\u0644 \u0641\u0631\u0639\u064a\u0629. <\/p>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":993} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":0} --><br \/>\n<!-- Repeatable debug data: {\"isEarlyInjection\":false,\"currentRuleCount\":900,\"actualCount\":0,\"hasActualCountMetThreshold\":null,\"countRemainingForInjection\":null,\"nextBlockCount\":null,\"hasCountRemainingForInjectionMetThreshold\":null} --><\/p>\n<p>  \u064a\u064f\u0633\u0645\u0649 \u0647\u0630\u0627 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0646\u0635\u064a &#8220;subgrep.sh&#8221;. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":37} --><\/p>\n<pre>#!\/bin\/bash \n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":50} -->\n<p> string=\"porridge pot\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":73} -->\n<p> substring=\"ridge\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":92} -->\n<p> if $(echo $string | grep -q $substring); then <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":139} -->\n<p> echo \"$substring was found in $string\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":179} -->\n<p> else <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":185} -->\n<p> echo \"$substring was not found in $string\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":229} -->\n<p> fi<\/p><\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":233} --><\/p>\n<p>  \u064a\u0633\u062a\u062e\u062f\u0645 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0646\u0635\u064a <code>echo<\/code> \u0644\u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0633\u0644\u0633\u0644\u0629 \u0625\u0644\u0649 <code>grep<\/code>\u060c \u0627\u0644\u0630\u064a \u064a\u0628\u062d\u062b \u0639\u0646 \u0627\u0644\u0633\u0644\u0633\u0644\u0629 \u0627\u0644\u0641\u0631\u0639\u064a\u0629. \u0646\u062d\u0646 \u0646\u0633\u062a\u062e\u062f\u0645 <code>-q <\/code> (\u0647\u0627\u062f\u0626) \u062e\u064a\u0627\u0631 \u0644\u0644\u062a\u0648\u0642\u0641 <code>grep<\/code> \u0643\u062a\u0627\u0628\u0629 \u0623\u064a \u0634\u064a\u0621 \u0625\u0644\u0649 \u0627\u0644\u0625\u062e\u0631\u0627\u062c \u0627\u0644\u0642\u064a\u0627\u0633\u064a. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":404} --><\/p>\n<p> <span class=\"related-single\">\u0630\u0627\u062a \u0635\u0644\u0629: \u0643\u064a\u0641\u064a\u0629 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0623\u0645\u0631 grep \u0639\u0644\u0649 Linux<\/span> <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":451} --><\/p>\n<p>  \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u0623\u0648\u0627\u0645\u0631 \u0627\u0644\u0645\u0648\u062c\u0648\u062f\u0629 \u062f\u0627\u062e\u0644 \u0627\u0644\u0623\u0642\u0648\u0627\u0633 &#8220;<code>(...)<\/code>&#8220;\u064a\u0633\u0627\u0648\u064a \u0635\u0641\u0631\u064b\u0627\u060c \u0648\u0647\u0630\u0627 \u064a\u0639\u0646\u064a \u0623\u0646\u0647 \u062a\u0645 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u062a\u0637\u0627\u0628\u0642. \u0644\u0623\u0646 \u0627\u0644\u0635\u0641\u0631 \u064a\u0633\u0627\u0648\u064a <code>true<\/code> \u0641\u064a \u0628\u0627\u0634\u060c <code>if<\/code> \u062a\u0645 \u0627\u0633\u062a\u064a\u0641\u0627\u0621 \u0627\u0644\u0628\u064a\u0627\u0646 \u0648 <code>then<\/code> \u062a\u0645 \u062a\u0646\u0641\u064a\u0630 \u0627\u0644\u0628\u0646\u062f. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":655} --><\/p>\n<p>  \u062f\u0639\u0648\u0646\u0627 \u0646\u0631\u0649 \u0645\u0627 \u0647\u0648 \u0646\u0627\u062a\u062c\u0647\u0627. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":686} --><\/p>\n<pre>.\/subgrep.sh<\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":700} --><\/p>\n<div class=\"body-img landscape \">\n<div class=\"responsive-img image-expandable img-article-item\">\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" width=\"644\" height=\"95\" loading=\"lazy\" alt=\"\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0646\u0635\u064a subawk.sh\" data-img-url=\"https:\/\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725957784_774_\u0643\u064a\u0641\u064a\u0629-\u0645\u0639\u0631\u0641\u0629-\u0645\u0627-\u0625\u0630\u0627-\u0643\u0627\u0646\u062a-\u0633\u0644\u0633\u0644\u0629-Bash-\u062a\u062d\u062a\u0648\u064a-\u0639\u0644\u0649-\u0633\u0644\u0633\u0644\u0629.png\" src=\"https:\/\/i0.wp.com\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725957784_774_%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D9%85%D8%B9%D8%B1%D9%81%D8%A9-%D9%85%D8%A7-%D8%A5%D8%B0%D8%A7-%D9%83%D8%A7%D9%86%D8%AA-%D8%B3%D9%84%D8%B3%D9%84%D8%A9-Bash-%D8%AA%D8%AD%D8%AA%D9%88%D9%8A-%D8%B9%D9%84%D9%89-%D8%B3%D9%84%D8%B3%D9%84%D8%A9.png?resize=644%2C95&#038;ssl=1\" style=\"height:auto;max-width:100%\" title=\"\">  <\/figure>\n<\/p><\/div>\n<\/p><\/div>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":940} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":0} --><br \/>\n<!-- Repeatable debug data: {\"isEarlyInjection\":false,\"currentRuleCount\":900,\"actualCount\":0,\"hasActualCountMetThreshold\":null,\"countRemainingForInjection\":null,\"nextBlockCount\":null,\"hasCountRemainingForInjectionMetThreshold\":null} --><\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":0} --><\/p>\n<h2 id=\"finding-substrings-with-sed\"><span class=\"ez-toc-section\" id=\"%D8%A7%D9%84%D8%B9%D8%AB%D9%88%D8%B1_%D8%B9%D9%84%D9%89_%D8%B3%D9%84%D8%A7%D8%B3%D9%84_%D9%81%D8%B1%D8%B9%D9%8A%D8%A9_%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85_sed\"><\/span>  \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0633\u0644\u0627\u0633\u0644 \u0641\u0631\u0639\u064a\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 sed <span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>  \u064a\u0645\u0643\u0646\u0646\u0627 \u0623\u0646 \u0646\u0633\u062a\u062e\u062f\u0645 <code>sed<\/code> \u0644\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0633\u0644\u0633\u0644\u0629 \u0641\u0631\u0639\u064a\u0629 \u0623\u064a\u0636\u064b\u0627. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":42} --><\/p>\n<pre \/> \n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":44} -->\n<p> By default, <code>sed<\/code>\u00a0prints all text that is fed into it. Using <code>sed -n<\/code> prevents this. The only lines that are printed are matching lines.\u00a0This expression will print any lines that match or contain the value of $substring. <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":264} -->\n<pre>\"\/$substring\/p\"<\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":281} --><\/p>\n<p>  \u0646\u062d\u0646 \u0646\u063a\u0630\u064a \u0627\u0644\u0642\u064a\u0645\u0629 <code>$string<\/code> \u062f\u0627\u062e\u0644 <code>sed<\/code> \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u0648\u062c\u064a\u0647 \u0647\u0646\u0627\u060c <code>&lt;&lt;&lt;<\/code>. \u064a\u062a\u0645 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0647\u0630\u0627 \u0644\u0625\u0639\u0627\u062f\u0629 \u062a\u0648\u062c\u064a\u0647 \u0627\u0644\u0642\u064a\u0645 \u0625\u0644\u0649 \u0623\u0645\u0631 \u0641\u064a \u0627\u0644\u063a\u0644\u0627\u0641 \u0627\u0644\u062d\u0627\u0644\u064a. \u0648\u0644\u0627 \u064a\u0633\u062a\u062f\u0639\u064a \u063a\u0644\u0627\u0641\u064b\u0627 \u0641\u0631\u0639\u064a\u064b\u0627 \u0628\u0627\u0644\u0637\u0631\u064a\u0642\u0629 \u0627\u0644\u062a\u064a \u064a\u0633\u062a\u062f\u0639\u064a\u0647\u0627 \u0627\u0644\u0623\u0646\u0628\u0648\u0628. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":485} --><\/p>\n<p> <span class=\"related-single\">\u0630\u0627\u062a \u0635\u0644\u0629: \u0643\u064a\u0641\u064a\u0629 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0623\u0645\u0631 sed \u0639\u0644\u0649 Linux<\/span> <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":531} --><\/p>\n<p>  \u0627\u0644\u0623\u0648\u0644 <code>-n<\/code> \u0647\u0648 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631. \u0633\u0648\u0641 \u064a\u0639\u0648\u062f <code>true<\/code> \u0625\u0630\u0627 \u0643\u0627\u0646 \u0627\u0644\u0646\u0627\u062a\u062c \u0645\u0646 <code>sed<\/code> \u0627\u0644\u0623\u0645\u0631 \u0644\u064a\u0633 \u0635\u0641\u0631\u064b\u0627. \u0627\u0644\u0637\u0631\u064a\u0642\u0629 \u0627\u0644\u0648\u062d\u064a\u062f\u0629 \u0627\u0644\u062a\u064a \u064a\u062a\u0645 \u0628\u0647\u0627 \u0625\u062e\u0631\u0627\u062c \u0627\u0644\u0623\u0645\u0631 \u0647\u064a <code>sed<\/code> \u064a\u0645\u0643\u0646 \u0623\u0646 \u064a\u0643\u0648\u0646 \u063a\u064a\u0631 \u0635\u0641\u0631 \u0625\u0630\u0627 \u062a\u0645 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u062e\u0637 \u0645\u0637\u0627\u0628\u0642. \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0647\u0630\u0647 \u0647\u064a \u0627\u0644\u062d\u0627\u0644\u0629\u060c <code>$substring<\/code> \u0644\u0627 \u0628\u062f \u0623\u0646 \u064a\u0643\u0648\u0646 \u0642\u062f \u062a\u0645 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u064a\u0647 \u0641\u064a <code>$string<\/code>. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":772} --><\/p>\n<p>  \u0647\u0630\u0627 \u0647\u0648 \"subsed.sh.\" <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":794} --><\/p>\n<pre>#!\/bin\/bash \n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":807} -->\n<p> string=\"Sweden\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":824} -->\n<p> substring=\"eden\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":842} -->\n<p> if ( -n \"$(sed -n \"\/$substring\/p\" &lt;&lt;&lt; $string)\" ); then <\/p>\n<!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":908} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":9,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":9,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":0} -->\n<!-- Repeatable debug data: {\"isEarlyInjection\":false,\"currentRuleCount\":900,\"actualCount\":0,\"hasActualCountMetThreshold\":null,\"countRemainingForInjection\":null,\"nextBlockCount\":null,\"hasCountRemainingForInjectionMetThreshold\":null} -->\n<p> echo \"$substring was found in $string\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":9,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":9,\"nbrPlacementsScanned\":9,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":40} -->\n<p> else <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":9,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":9,\"nbrPlacementsScanned\":9,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":46} -->\n<p> echo \"$substring was not found in $string\" <\/p>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":9,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":9,\"nbrPlacementsScanned\":9,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":90} -->\n<p> fi<\/p><\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":9,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":9,\"nbrPlacementsScanned\":9,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":94} --><\/p>\n<p>  \u0646\u062d\u0635\u0644 \u0639\u0644\u0649 \u0627\u0644\u0627\u0633\u062a\u062c\u0627\u0628\u0629 \u0627\u0644\u0645\u062a\u0648\u0642\u0639\u0629 \u0639\u0646\u062f\u0645\u0627 \u0646\u0642\u0648\u0645 \u0628\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0646\u0635\u064a. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":9,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":9,\"nbrPlacementsScanned\":9,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":148} --><\/p>\n<pre>.\/subsed.sh<\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":9,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":9,\"nbrPlacementsScanned\":9,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":161} --><\/p>\n<div class=\"body-img landscape \">\n<div class=\"responsive-img image-expandable img-article-item\">\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" width=\"644\" height=\"95\" loading=\"lazy\" alt=\"\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0646\u0635\u064a subsed.sh\" data-img-url=\"https:\/\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725957784_871_\u0643\u064a\u0641\u064a\u0629-\u0645\u0639\u0631\u0641\u0629-\u0645\u0627-\u0625\u0630\u0627-\u0643\u0627\u0646\u062a-\u0633\u0644\u0633\u0644\u0629-Bash-\u062a\u062d\u062a\u0648\u064a-\u0639\u0644\u0649-\u0633\u0644\u0633\u0644\u0629.png\" src=\"https:\/\/i0.wp.com\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725957784_871_%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D9%85%D8%B9%D8%B1%D9%81%D8%A9-%D9%85%D8%A7-%D8%A5%D8%B0%D8%A7-%D9%83%D8%A7%D9%86%D8%AA-%D8%B3%D9%84%D8%B3%D9%84%D8%A9-Bash-%D8%AA%D8%AD%D8%AA%D9%88%D9%8A-%D8%B9%D9%84%D9%89-%D8%B3%D9%84%D8%B3%D9%84%D8%A9.png?resize=644%2C95&#038;ssl=1\" style=\"height:auto;max-width:100%\" title=\"\">  <\/figure>\n<\/p><\/div>\n<\/p><\/div>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":9,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":9,\"nbrPlacementsScanned\":9,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":401} --><\/p>\n<p>  \u064a\u0645\u0643\u0646\u0646\u0627 \u0627\u062e\u062a\u0628\u0627\u0631 \u0645\u0646\u0637\u0642 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0646\u0635\u064a \u0639\u0646 \u0637\u0631\u064a\u0642 \u062a\u062d\u0631\u064a\u0631 \u0642\u064a\u0645\u0629 <code>$substring<\/code> \u062d\u062a\u0649 \u062a\u0641\u0634\u0644 \u0627\u0644\u0645\u0642\u0627\u0631\u0646\u0629. <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":9,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":9,\"nbrPlacementsScanned\":9,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":503} --><\/p>\n<p>  .\/subsed.sh <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":9,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":9,\"nbrPlacementsScanned\":9,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":516} --><\/p>\n<div class=\"body-img landscape \">\n<div class=\"responsive-img image-expandable img-article-item\">\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" width=\"644\" height=\"95\" loading=\"lazy\" alt=\"\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0646\u0635\u064a subsed.sh \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0633\u0644\u0633\u0644\u0629 \u0641\u0631\u0639\u064a\u0629 \u063a\u064a\u0631 \u0645\u062a\u0637\u0627\u0628\u0642\u0629\" data-img-url=\"https:\/\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725957784_778_\u0643\u064a\u0641\u064a\u0629-\u0645\u0639\u0631\u0641\u0629-\u0645\u0627-\u0625\u0630\u0627-\u0643\u0627\u0646\u062a-\u0633\u0644\u0633\u0644\u0629-Bash-\u062a\u062d\u062a\u0648\u064a-\u0639\u0644\u0649-\u0633\u0644\u0633\u0644\u0629.png\" src=\"https:\/\/i0.wp.com\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725957784_778_%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D9%85%D8%B9%D8%B1%D9%81%D8%A9-%D9%85%D8%A7-%D8%A5%D8%B0%D8%A7-%D9%83%D8%A7%D9%86%D8%AA-%D8%B3%D9%84%D8%B3%D9%84%D8%A9-Bash-%D8%AA%D8%AD%D8%AA%D9%88%D9%8A-%D8%B9%D9%84%D9%89-%D8%B3%D9%84%D8%B3%D9%84%D8%A9.png?resize=644%2C95&#038;ssl=1\" style=\"height:auto;max-width:100%\" title=\"\">  <\/figure>\n<\/p><\/div>\n<\/p><\/div>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":9,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":9,\"nbrPlacementsScanned\":9,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":756} --><\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":9,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":9,\"nbrPlacementsScanned\":9,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":756} --><\/p>\n<h2 id=\"stop-searching-found-it\"><span class=\"ez-toc-section\" id=\"%D8%AA%D9%88%D9%82%D9%81_%D8%B9%D9%86_%D8%A7%D9%84%D8%A8%D8%AD%D8%AB%D8%8C_%D9%84%D9%82%D8%AF_%D9%88%D8%AC%D8%AF%D8%AA%D9%87\"><\/span>  \u062a\u0648\u0642\u0641 \u0639\u0646 \u0627\u0644\u0628\u062d\u062b\u060c \u0644\u0642\u062f \u0648\u062c\u062f\u062a\u0647 <span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>  \u064a\u0645\u0643\u0646 \u0644\u0623\u062f\u0648\u0627\u062a \u0623\u062e\u0631\u0649 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0633\u0644\u0627\u0633\u0644 \u0641\u0631\u0639\u064a\u0629\u060c \u0645\u062b\u0644 <code>awk<\/code> \u0648 <code>Perl<\/code> \u0644\u0643\u0646 \u062d\u0627\u0644\u0629 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0628\u0633\u064a\u0637\u0629 \u0645\u062b\u0644 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0633\u0644\u0633\u0644\u0629 \u0641\u0631\u0639\u064a\u0629 \u0644\u0627 \u062a\u0628\u0631\u0631 \u0648\u0638\u0627\u0626\u0641\u0647\u0627 \u0627\u0644\u0625\u0636\u0627\u0641\u064a\u0629 \u0648\u0644\u0627 \u0627\u0644\u062a\u0639\u0642\u064a\u062f \u0627\u0644\u0645\u0636\u0627\u0641. \u0639\u0644\u0649 \u0648\u062c\u0647 \u0627\u0644\u062e\u0635\u0648\u0635\u060c \u064a\u0639\u062f \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0639\u0646\u0627\u0635\u0631 Bash \u0627\u0644\u0645\u0636\u0645\u0646\u0629 \u0644\u0644\u0628\u062d\u062b \u0639\u0646 \u0633\u0644\u0627\u0633\u0644 \u0641\u0631\u0639\u064a\u0629 \u0633\u0631\u064a\u0639\u064b\u0627 \u0648\u0628\u0633\u064a\u0637\u064b\u0627 \u0648\u0644\u0627 \u064a\u062a\u0637\u0644\u0628 \u0623\u062f\u0648\u0627\u062a \u062e\u0627\u0631\u062c\u064a\u0629. <\/p>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":9,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":9,\"nbrPlacementsScanned\":9,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":1043} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":10,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":10,\"nbrPlacementsScanned\":9,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"isEarlyInjection\":false,\"actualCount\":0} --><br \/>\n<!-- Repeatable debug data: {\"isEarlyInjection\":false,\"currentRuleCount\":900,\"actualCount\":0,\"hasActualCountMetThreshold\":null,\"countRemainingForInjection\":null,\"nextBlockCount\":null,\"hasCountRemainingForInjectionMetThreshold\":null} --><\/p>\n<p> <span class=\"related-single\">\u0630\u0627\u062a \u0635\u0644\u0629: \u0643\u064a\u0641\u064a\u0629 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0639\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u062d\u0627\u0644\u0629 \u0641\u064a \u0646\u0635\u0648\u0635 Bash<\/span> <\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":10,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":10,\"nbrPlacementsScanned\":10,\"ruleCount\":900,\"degradationStartingPoint\":1,\"stopAds\":null,\"actualCount\":53} -->\n <\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0641\u064a \u0628\u0639\u0636 \u0627\u0644\u0623\u062d\u064a\u0627\u0646\u060c \u0641\u064a \u0646\u0635\u0648\u0635 Linux\u060c \u0642\u062f \u062a\u0631\u063a\u0628 \u0641\u064a \u0645\u0639\u0631\u0641\u0629 \u0645\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646 \u0633\u0644\u0633\u0644\u0629 \u0646\u0635\u064a\u0629 \u062a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u0633\u0644\u0633\u0644\u0629 \u0646\u0635\u064a\u0629 \u0645\u062d\u062f\u062f\u0629 \u0648\u0623\u0635\u063a\u0631 \u062d\u062c\u0645\u064b\u0627. \u0647\u0646\u0627\u0643 \u0627\u0644\u0639\u062f\u064a\u062f \u0645\u0646 \u0627\u0644\u0637\u0631\u0642 \u0644\u0644\u0642\u064a\u0627\u0645 \u0628\u0630\u0644\u0643. \u0633\u0646\u0639\u0631\u0636 \u0644\u0643 \u0628\u0639\u0636 \u0627\u0644\u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0628\u0633\u064a\u0637\u0629 \u0648\u0627\u0644\u0645\u0648\u062b\u0648\u0642\u0629. \u0644\u0645\u0627\u0630\u0627 \u0647\u0630\u0627 \u0645\u0641\u064a\u062f\u061f \u064a\u0639\u062f \u0627\u0644\u0628\u062d\u062b \u0639\u0646 \u0633\u0644\u0633\u0644\u0629 \u0641\u0631\u0639\u064a\u0629 \u0623\u0635\u063a\u0631 \u0641\u064a \u0633\u0644\u0633\u0644\u0629 \u0634\u0631\u0637\u064b\u0627 \u0634\u0627\u0626\u0639\u064b\u0627. \u0648\u0645\u0646 \u0627\u0644\u0623\u0645\u062b\u0644\u0629 \u0639\u0644\u0649 \u0630\u0644\u0643 \u0642\u0631\u0627\u0621\u0629 \u0646\u0635 \u0645\u0646 \u0645\u0644\u0641 &#8230; <a title=\"\u0643\u064a\u0641\u064a\u0629 \u0645\u0639\u0631\u0641\u0629 \u0645\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0633\u0644\u0633\u0644\u0629 Bash \u062a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u0633\u0644\u0633\u0644\u0629 \u0641\u0631\u0639\u064a\u0629 \u0639\u0644\u0649 Linux\" class=\"read-more\" href=\"https:\/\/goodwriterz.com\/site\/%d9%83%d9%8a%d9%81%d9%8a%d8%a9-%d9%85%d8%b9%d8%b1%d9%81%d8%a9-%d9%85%d8%a7-%d8%a5%d8%b0%d8%a7-%d9%83%d8%a7%d9%86%d8%aa-%d8%b3%d9%84%d8%b3%d9%84%d8%a9-bash-%d8%aa%d8%ad%d8%aa%d9%88%d9%8a-%d8%b9%d9%84\/\" aria-label=\"Read more about \u0643\u064a\u0641\u064a\u0629 \u0645\u0639\u0631\u0641\u0629 \u0645\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0633\u0644\u0633\u0644\u0629 Bash \u062a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u0633\u0644\u0633\u0644\u0629 \u0641\u0631\u0639\u064a\u0629 \u0639\u0644\u0649 Linux\">\u0625\u0642\u0631\u0623 \u0627\u0644\u0645\u0632\u064a\u062f<\/a><\/p>\n","protected":false},"author":1,"featured_media":65313,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[6],"tags":[410,322,42],"class_list":["post-65312","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","tag-bigpic","tag-features","tag-linux"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/goodwriterz.com\/site\/wp-content\/uploads\/2024\/09\/1725957785_%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D9%85%D8%B9%D8%B1%D9%81%D8%A9-%D9%85%D8%A7-%D8%A5%D8%B0%D8%A7-%D9%83%D8%A7%D9%86%D8%AA-%D8%B3%D9%84%D8%B3%D9%84%D8%A9-Bash-%D8%AA%D8%AD%D8%AA%D9%88%D9%8A-%D8%B9%D9%84%D9%89-%D8%B3%D9%84%D8%B3%D9%84%D8%A9.png?fit=1200%2C675&ssl=1","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/goodwriterz.com\/site\/wp-json\/wp\/v2\/posts\/65312","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/goodwriterz.com\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/goodwriterz.com\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/goodwriterz.com\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/goodwriterz.com\/site\/wp-json\/wp\/v2\/comments?post=65312"}],"version-history":[{"count":0,"href":"https:\/\/goodwriterz.com\/site\/wp-json\/wp\/v2\/posts\/65312\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/goodwriterz.com\/site\/wp-json\/wp\/v2\/media\/65313"}],"wp:attachment":[{"href":"https:\/\/goodwriterz.com\/site\/wp-json\/wp\/v2\/media?parent=65312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/goodwriterz.com\/site\/wp-json\/wp\/v2\/categories?post=65312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/goodwriterz.com\/site\/wp-json\/wp\/v2\/tags?post=65312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}