{"id":446,"date":"2023-04-09T13:09:49","date_gmt":"2023-04-09T05:09:49","guid":{"rendered":"https:\/\/yajtech.synology.me\/wordpress\/?p=446"},"modified":"2023-04-09T13:10:10","modified_gmt":"2023-04-09T05:10:10","slug":"grep","status":"publish","type":"post","link":"https:\/\/www.yaj.com.tw\/wordpress\/?p=446","title":{"rendered":"grep"},"content":{"rendered":"\n<p>\u7528\u65bc\u904e\u6ffe\/\u641c\u7d22\u7684\u7279\u5b9a\u5b57\u7b26<\/p>\n\n\n\n<p>grep [option] pattern file<\/p>\n\n\n\n<p>\u53c3\u6578<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><code>-a<\/code>\u00a0\u2014text #\u4e0d\u8981\u5ffd\u7565\u4e8c\u9032\u5236\u7684\u6578\u64da\u3002<\/li><li><code>-A<\/code>&lt;\u986f\u793a\u884c\u6578> \u2014after-context=&lt;\u986f\u793a\u884c\u6578> #\u9664\u4e86\u986f\u793a\u7b26\u5408\u7bc4\u672c\u6a23\u5f0f\u7684\u90a3\u4e00\u5217\u4e4b\u5916\uff0c\u4e26\u986f\u793a\u8a72\u884c\u4e4b\u5f8c\u7684\u5167\u5bb9\u3002<\/li><li><code>-b<\/code>\u00a0\u2014byte-offset #\u5728\u986f\u793a\u7b26\u5408\u6a23\u5f0f\u7684\u90a3\u4e00\u884c\u4e4b\u524d\uff0c\u6a19\u793a\u51fa\u8a72\u884c\u7b2c\u4e00\u500b\u5b57\u7b26\u7684\u7de8\u865f\u3002<\/li><li><code>-B<\/code>&lt;\u986f\u793a\u884c\u6578> \u2014before-context=&lt;\u986f\u793a\u884c\u6578> #\u9664\u4e86\u986f\u793a\u7b26\u5408\u6a23\u5f0f\u7684\u90a3\u4e00\u884c\u4e4b\u5916\uff0c\u4e26\u986f\u793a\u8a72\u884c\u4e4b\u524d\u7684\u5167\u5bb9\u3002<\/li><li><code>-c<\/code>\u00a0\u2014count #\u8a08\u7b97\u7b26\u5408\u6a23\u5f0f\u7684\u5217\u6578\u3002<\/li><li><code>-C<\/code>&lt;\u986f\u793a\u884c\u6578> \u2014context=&lt;\u986f\u793a\u884c\u6578>\u6216-&lt;\u986f\u793a\u884c\u6578> #\u9664\u4e86\u986f\u793a\u7b26\u5408\u6a23\u5f0f\u7684\u90a3\u4e00\u884c\u4e4b\u5916\uff0c\u4e26\u986f\u793a\u8a72\u884c\u4e4b\u524d\u5f8c\u7684\u5167\u5bb9\u3002<\/li><li><code>-d<\/code>\u00a0&lt;\u52d5\u4f5c> \u2014directories=&lt;\u52d5\u4f5c> #\u7576\u6307\u5b9a\u8981\u67e5\u627e\u7684\u662f\u76ee\u9304\u800c\u975e\u6587\u4ef6\u6642\uff0c\u5fc5\u9808\u4f7f\u7528\u9019\u9805\u53c3\u6578\uff0c\u5426\u5247grep\u6307\u4ee4\u5c07\u56de\u5831\u4fe1\u606f\u4e26\u505c\u6b62\u52d5\u4f5c\u3002<\/li><li><code>-e<\/code>&lt;\u7bc4\u672c\u6a23\u5f0f> \u2014regexp=&lt;\u7bc4\u672c\u6a23\u5f0f> #\u6307\u5b9a\u5b57\u7b26\u4e32\u505a\u7232\u67e5\u627e\u6587\u4ef6\u5167\u5bb9\u7684\u6a23\u5f0f\u3002<\/li><li><code>-E<\/code>\u00a0\u2014extended-regexp #\u5c07\u6a23\u5f0f\u7232\u5ef6\u4f38\u7684\u666e\u901a\u8868\u793a\u6cd5\u4f86\u4f7f\u7528\u3002<\/li><li><code>-f<\/code>&lt;\u898f\u5247\u6587\u4ef6> \u2014file=&lt;\u898f\u5247\u6587\u4ef6> #\u6307\u5b9a\u898f\u5247\u6587\u4ef6\uff0c\u5176\u5167\u5bb9\u542b\u6709\u4e00\u500b\u6216\u591a\u500b\u898f\u5247\u6a23\u5f0f\uff0c\u8b93grep\u67e5\u627e\u7b26\u5408\u898f\u5247\u689d\u4ef6\u7684\u6587\u4ef6\u5167\u5bb9\uff0c\u683c\u5f0f\u7232\u6bcf\u884c\u4e00\u500b\u898f\u5247\u6a23\u5f0f\u3002<\/li><li><code>-F<\/code>\u00a0\u2014fixed-regexp #\u5c07\u6a23\u5f0f\u8996\u7232\u56fa\u5b9a\u5b57\u7b26\u4e32\u7684\u5217\u8868\u3002<\/li><li><code>-G<\/code>\u00a0\u2014basic-regexp #\u5c07\u6a23\u5f0f\u8996\u7232\u666e\u901a\u7684\u8868\u793a\u6cd5\u4f86\u4f7f\u7528\u3002<\/li><li><code>-h<\/code>\u00a0\u2014no-filename #\u5728\u986f\u793a\u7b26\u5408\u6a23\u5f0f\u7684\u90a3\u4e00\u884c\u4e4b\u524d\uff0c\u4e0d\u6a19\u793a\u8a72\u884c\u6240\u5c6c\u7684\u6587\u4ef6\u540d\u7a31\u3002<\/li><li><code>-H<\/code>\u00a0\u2014with-filename #\u5728\u986f\u793a\u7b26\u5408\u6a23\u5f0f\u7684\u90a3\u4e00\u884c\u4e4b\u524d\uff0c\u8868\u793a\u8a72\u884c\u6240\u5c6c\u7684\u6587\u4ef6\u540d\u7a31\u3002<\/li><li><code>-i<\/code>\u00a0\u2014ignore-case #\u5ffd\u7565\u5b57\u7b26\u5927\u5c0f\u5beb\u7684\u5dee\u5225\u3002<\/li><li><code>-l<\/code>\u00a0\u2014file-with-matches #\u5217\u51fa\u6587\u4ef6\u5167\u5bb9\u7b26\u5408\u6307\u5b9a\u7684\u6a23\u5f0f\u7684\u6587\u4ef6\u540d\u7a31\u3002<\/li><li><code>-L<\/code>\u00a0\u2014files-without-match #\u5217\u51fa\u6587\u4ef6\u5167\u5bb9\u4e0d\u7b26\u5408\u6307\u5b9a\u7684\u6a23\u5f0f\u7684\u6587\u4ef6\u540d\u7a31\u3002<\/li><li><code>-n<\/code>\u00a0\u2014line-number #\u5728\u986f\u793a\u7b26\u5408\u6a23\u5f0f\u7684\u90a3\u4e00\u884c\u4e4b\u524d\uff0c\u6a19\u793a\u51fa\u8a72\u884c\u7684\u5217\u6578\u7de8\u865f\u3002<\/li><li><code>-q<\/code>\u00a0\u2014quiet\u6216\u2014silent #\u4e0d\u986f\u793a\u4efb\u4f55\u4fe1\u606f\u3002<\/li><li><code>-r<\/code>\u00a0\u2014recursive #\u6b64\u53c3\u6578\u7684\u6548\u679c\u548c\u6307\u5b9a\u300c-d recurse\u300d\u53c3\u6578\u76f8\u540c\u3002<\/li><li><code>-s<\/code>\u00a0\u2014no-messages #\u4e0d\u986f\u793a\u932f\u8aa4\u4fe1\u606f\u3002<\/li><li><code>-v<\/code>\u00a0\u2014revert-match #\u986f\u793a\u4e0d\u5305\u542b\u5339\u914d\u6587\u672c\u7684\u6240\u6709\u884c\u3002<\/li><li><code>-V<\/code>\u00a0\u2014version #\u986f\u793a\u7248\u672c\u4fe1\u606f\u3002<\/li><li><code>-w<\/code>\u00a0\u2014word-regexp #\u53ea\u986f\u793a\u5168\u5b57\u7b26\u5408\u7684\u5217\u3002<\/li><li><code>-x<\/code>\u00a0\u2014line-regexp #\u53ea\u986f\u793a\u5168\u5217\u7b26\u5408\u7684\u5217\u3002<\/li><li><code>-y<\/code>\u00a0#\u6b64\u53c3\u6578\u7684\u6548\u679c\u548c\u6307\u5b9a\u300c-i\u300d\u53c3\u6578\u76f8\u540c\u3002<\/li><\/ul>\n\n\n\n<p>\u898f\u5247\u8868\u9054\u5f0f<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><code>^<\/code>&nbsp;#\u9328\u5b9a\u884c\u7684\u958b\u59cb \u5982\uff1a\u2019^grep\u2019\u5339\u914d\u6240\u6709\u4ee5grep\u958b\u982d\u7684\u884c\u3002<\/li><li><code>$<\/code>&nbsp;#\u9328\u5b9a\u884c\u7684\u7d50\u675f \u5982\uff1a\u2019grep$\u2019\u5339\u914d\u6240\u6709\u4ee5grep\u7d50\u5c3e\u7684\u884c\u3002<\/li><li><code>.<\/code>&nbsp;#\u5339\u914d\u4e00\u500b\u975e\u63db\u884c\u7b26\u7684\u5b57\u7b26 \u5982\uff1a\u2019gr.p\u2019\u5339\u914dgr\u5f8c\u63a5\u4e00\u500b\u4efb\u610f\u5b57\u7b26\uff0c\u7136\u5f8c\u662fp\u3002<\/li><li><code>*<\/code>&nbsp;#\u5339\u914d\u96f6\u500b\u6216\u591a\u500b\u5148\u524d\u5b57\u7b26 \u5982\uff1a\u2019*grep\u2019\u5339\u914d\u6240\u6709\u4e00\u500b\u6216\u591a\u500b\u7a7a\u683c\u5f8c\u7dca\u8ddfgrep\u7684\u884c\u3002<\/li><li><code>.*<\/code>&nbsp;#\u4e00\u8d77\u7528\u4ee3\u8868\u4efb\u610f\u5b57\u7b26\u3002<\/li><li><code>[]<\/code>&nbsp;#\u5339\u914d\u4e00\u500b\u6307\u5b9a\u7bc4\u570d\u5167\u7684\u5b57\u7b26\uff0c\u5982\u2019[Gg]rep\u2019\u5339\u914dGrep\u548cgrep\u3002<\/li><li><code>[^]<\/code>&nbsp;#\u5339\u914d\u4e00\u500b\u4e0d\u5728\u6307\u5b9a\u7bc4\u570d\u5167\u7684\u5b57\u7b26\uff0c\u5982\uff1a\u2019[^A-FH-Z]rep\u2019\u5339\u914d\u4e0d\u5305\u542bA-R\u548cT-Z\u7684\u4e00\u500b\u5b57\u6bcd\u958b\u982d\uff0c\u7dca\u8ddfrep\u7684\u884c\u3002<\/li><li><code>\\(..\\)<\/code>&nbsp;#\u6a19\u8a18\u5339\u914d\u5b57\u7b26\uff0c\u5982\u2019(love)\u2018\uff0clove\u88ab\u6a19\u8a18\u72321\u3002<\/li><li><code>\\&lt;<\/code>&nbsp;#\u9328\u5b9a\u55ae\u8a5e\u7684\u958b\u59cb\uff0c\u5982:\u2019\\&lt;grep\u2019\u5339\u914d\u5305\u542b\u4ee5grep\u958b\u982d\u7684\u55ae\u8a5e\u7684\u884c\u3002<\/li><li><code>\\&gt;<\/code>&nbsp;#\u9328\u5b9a\u55ae\u8a5e\u7684\u7d50\u675f\uff0c\u5982\u2019grep&gt;\u2018\u5339\u914d\u5305\u542b\u4ee5grep\u7d50\u5c3e\u7684\u55ae\u8a5e\u7684\u884c\u3002<\/li><li><code>x\\{m\\}<\/code>&nbsp;#\u91cd\u8907\u5b57\u7b26x\uff0cm\u6b21\uff0c\u5982\uff1a\u20190{5}\u2018\u5339\u914d\u5305\u542b5\u500bo\u7684\u884c\u3002<\/li><li><code>x\\{m,\\}<\/code>&nbsp;#\u91cd\u8907\u5b57\u7b26x,\u81f3\u5c11m\u6b21\uff0c\u5982\uff1a\u2019o{5,}\u2018\u5339\u914d\u81f3\u5c11\u67095\u500bo\u7684\u884c\u3002<\/li><li><code>x\\{m,n\\}<\/code>&nbsp;#\u91cd\u8907\u5b57\u7b26x\uff0c\u81f3\u5c11m\u6b21\uff0c\u4e0d\u591a\u65bcn\u6b21\uff0c\u5982\uff1a\u2019o{5,10}\u2018\u5339\u914d5\u201410\u500bo\u7684\u884c\u3002<\/li><li><code>\\w<\/code>&nbsp;#\u5339\u914d\u6587\u5b57\u548c\u6578\u5b57\u5b57\u7b26\uff0c\u4e5f\u5c31\u662f[A-Za-z0-9]\uff0c\u5982\uff1a\u2019G\\w*p\u2019\u5339\u914d\u4ee5G\u5f8c\u8ddf\u96f6\u500b\u6216\u591a\u500b\u6587\u5b57\u6216\u6578\u5b57\u5b57\u7b26\uff0c\u7136\u5f8c\u662fp\u3002<\/li><li><code>\\W<\/code>&nbsp;#\\w\u7684\u53cd\u7f6e\u5f62\u5f0f\uff0c\u5339\u914d\u4e00\u500b\u6216\u591a\u500b\u975e\u55ae\u8a5e\u5b57\u7b26\uff0c\u5982\u9ede\u865f\u53e5\u865f\u7b49\u3002<\/li><li><code>\\b<\/code>&nbsp;#\u55ae\u8a5e\u9396\u5b9a\u7b26\uff0c\u5982: \u2018\\bgrep\\b\u2019\u53ea\u5339\u914d<code>grep<\/code>\u3002<\/li><\/ul>\n\n\n\n<p><strong>POSIX\u5b57\u7b26:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><code>[:alnum:]<\/code>\u00a0#\u6587\u5b57\u6578\u5b57\u5b57\u7b26<\/li><li><code>[:alpha:]<\/code>\u00a0#\u6587\u5b57\u5b57\u7b26<\/li><li><code>[:digit:]<\/code>\u00a0#\u6578\u5b57\u5b57\u7b26<\/li><li><code>[:graph:]<\/code>\u00a0#\u975e\u7a7a\u5b57\u7b26(\u975e\u7a7a\u683c\u3001\u63a7\u5236\u5b57\u7b26)<\/li><li><code>[:lower:]<\/code>\u00a0#\u5c0f\u5beb\u5b57\u7b26<\/li><li><code>[:cntrl:]<\/code>\u00a0#\u63a7\u5236\u5b57\u7b26<\/li><li><code>[:print:]<\/code>\u00a0#\u975e\u7a7a\u5b57\u7b26(\u5305\u62ec\u7a7a\u683c)<\/li><li><code>[:punct:]<\/code>\u00a0#\u6a19\u9ede\u7b26\u865f<\/li><li><code>[:space:]<\/code>\u00a0#\u6240\u6709\u7a7a\u767d\u5b57\u7b26(\u65b0\u884c\uff0c\u7a7a\u683c\uff0c\u88fd\u8868\u7b26)<\/li><li><code>[:upper:]<\/code>\u00a0#\u5927\u5beb\u5b57\u7b26<\/li><li><code>[:xdigit:]<\/code>\u00a0#\u5341\u516d\u9032\u5236\u6578\u5b57(0-9\uff0ca-f\uff0cA-F)<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># \u627e\u6307\u5b9a\u9032\u7a0b\nps -ef|grep python\n\n# \u627e\u6307\u5b9a\u9032\u7a0b\u500b\u6578\nps -ef|grep -c python\n\n# grep\u4e0d\u986f\u793a\u672c\u8eab\u9032\u7a0b\nps aux|grep \\&#91;s]sh\r\nps aux | grep ssh | grep -v \"grep\"<\/code><\/pre>\n\n\n\n<p>\u53c3\u8003\u8cc7\u6599<\/p>\n\n\n\n<p><a href=\"https:\/\/www.1ju.org\/linux\/grep\">https:\/\/www.1ju.org\/linux\/grep<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7528\u65bc\u904e\u6ffe\/\u641c\u7d22\u7684\u7279\u5b9a\u5b57\u7b26 grep [option] pattern file \u53c3\u6578 -a\u00a0\u2014text #\u4e0d\u8981 &#8230; <a title=\"grep\" class=\"read-more\" href=\"https:\/\/www.yaj.com.tw\/wordpress\/?p=446\" aria-label=\"\u95b1\u8b80\u3008grep\u3009\u5168\u6587\">\u95b1\u8b80\u5168\u6587<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[17,9],"class_list":["post-446","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-linux","tag-openwrt"],"_links":{"self":[{"href":"https:\/\/www.yaj.com.tw\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/446","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yaj.com.tw\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yaj.com.tw\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yaj.com.tw\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yaj.com.tw\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=446"}],"version-history":[{"count":2,"href":"https:\/\/www.yaj.com.tw\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/446\/revisions"}],"predecessor-version":[{"id":448,"href":"https:\/\/www.yaj.com.tw\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/446\/revisions\/448"}],"wp:attachment":[{"href":"https:\/\/www.yaj.com.tw\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=446"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yaj.com.tw\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=446"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yaj.com.tw\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=446"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}