{"id":305187,"date":"2021-01-12T16:21:17","date_gmt":"2021-01-12T08:21:17","guid":{"rendered":"http:\/\/4563.org\/?p=305187"},"modified":"2021-01-12T16:21:17","modified_gmt":"2021-01-12T08:21:17","slug":"%e6%b1%82%e5%8a%a9-%e5%9c%a8-linux-shell-%e9%87%8c%e7%9a%84%e6%9b%bf%e6%8d%a2%e9%97%ae%e9%a2%98","status":"publish","type":"post","link":"http:\/\/4563.org\/?p=305187","title":{"rendered":"\u6c42\u52a9 \u5728 Linux shell \u91cc\u7684\u66ff\u6362\u95ee\u9898"},"content":{"rendered":"<div>\n<div>\n<div>\n<h1>                  \u6c42\u52a9 \u5728 Linux shell \u91cc\u7684\u66ff\u6362\u95ee\u9898               <\/h1>\n<p> <\/p>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : wuxi889 <\/span>  <span><i><\/i> 5<\/span> <\/div>\n<div> <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div isfirst=\"1\"> <\/p>\n<p>\u73b0\u5728\u6709\u4e2a\u9700\u8981\u9700\u8981\u5c06\u4f8b\u5982 AdadaBdaC \u53c2\u6570\u503c\u66ff\u6362\u6210 adada-bda-c \u8fd9\u79cd\u9a9a\u64cd\u4f5c\u600e\u4e48\u5904\u7406\uff0c\u5927\u5199\u5305\u62ec A-Z<\/p>\n<\/p><\/div>\n<div> <b>\u5927\u4f6c\u6709\u8a71\u8aaa<\/b> (<span>23<\/span>)        <\/div>\n<div> <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<ul>\n<li data-pid=\"5142129\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : ysc3839 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u6211\u53ea\u77e5\u9053 Python \u6709\u4e2a inflection \u5e93\u53ef\u4ee5\u5b9e\u73b0<br \/>https:\/\/inflection.readthedocs.io\/en\/latest\/#inflection.parameterize                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142130\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : xupefei <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u7528\u6b63\u5219\u8868\u8fbe\u5f0f\u628a\u5927\u5199\u5b57\u6bcd\u66ff\u6362\u6210 -\u5c0f\u5199\u5b57\u6bcd\uff0c\u7136\u540e trim \u6389-                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142131\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : lululau <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             echo AdadaBdaC | ruby -ne &#8216;puts $_.scan(\/[A-Z][a-z]*\/).map(&amp;:downcase)*&#8221;-&#8220;&#8216;                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142132\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : jdhao <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u6b63\u5219\u66ff\u6362\uff1f                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142133\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : wuxi889 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @lululau \u5bb9\u5668\u91cc\u8dd1\u53ea\u80fd\u7528\u57fa\u672c\u547d\u4ee4\uff0c\u5927\u4f6c\u4f60\u8fd9\u6761\u7528\u4e0d\u4e0a\u4e86                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142134\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : wuxi889 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @jdhao @xupefei \u539f\u8c05\u6211\u505a\u4e00\u6b21\u4f38\u624b\u515a [\u624b\u52a8\u6342\u8138]                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142135\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : bootvue <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u5e72\u6389\u8fd9\u4e2a\u9700\u6c42                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142136\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : RudyS <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             sed -i &#8216;s\/A\/a\/g&#8217; file<br \/>sed -i &#8216;s\/B\/-b\/g&#8217; file<br \/>sed -i &#8216;s\/C\/-c\/g&#8217; file                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142137\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : aheadlead <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             shell \u771f\u662f\u4e00\u8a00\u96be\u5c3d\u2026 \u7ed9\u4e3b\u4e00\u4e2a\u65b9\u6848\u5427\u3002\u3002\u3002<\/p>\n<p>a=$(echo &#8220;AdadaBdaC&#8221; | sed -e &#8216;s\/([A-Z])\/-L1\/g&#8217;)<br \/>echo ${a#-}                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142138\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : aheadlead <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @xupefei #2 \u5c31\u662f 2L \u7684\u65b9\u6848                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142139\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : zeroDev <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u7528 sed\uff0c\u5982\u679c\u8981\u6362\u7684\u591a\uff0c\u5efa\u8bae\u5199\u4e2a\u811a\u672c\u6587\u4ef6                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142140\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : maichael <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             echo AdadaBdaC | sed -E &#8216;s\/([A-Z])\/_1\/g&#8217; | sed -E &#8216;s\/^_\/\/g&#8217; | tr &#8216;A-Z&#8217; &#8216;a-z&#8217;                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142141\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : maichael <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @maichael #12 echo AdadaBdaC | sed -E &#8216;s\/([A-Z])\/-1\/g&#8217; | sed -E &#8216;s\/^-\/\/g&#8217; | tr &#8216;A-Z&#8217; &#8216;a-z&#8217;                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142142\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : zpfhbyx <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div> <img decoding=\"async\" src=\"http:\/\/4563.org\/wp-content\/uploads\/2021\/02\/20210203_601a7bd80fd71.png\" rel=\"noreferrer\" alt=\"\u6c42\u52a9 \u5728 Linux shell \u91cc\u7684\u66ff\u6362\u95ee\u9898\"> echo &#8216;AdadaBdaC&#8217; | sed &#8216;s\/[A-Z][a-z]*\/L&amp;-\/g&#8217; | sed &#8216;s\/.$\/\/&#8217; centos \u4e0b\u53ef\u4ee5\uff0cmac \u4e0b\u4e0d\u884c                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142143\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : wuxi889 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @aheadlead @maichael @zpfhbyx \u5927\u4f6c\u4eec\u5728\u4e0a\uff0c\u53d7\u5c0f\u5f1f\u4e00\u62dc\uff0c\u63d0\u524d\u767e\u5e74\u3002\u6211\u53bb\u8bd5\u8bd5                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142144\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : libook <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @zpfhbyx Linux \u4e0b\u7684 sed \u662f GNU sed\uff0cMacOS \u4e0b\u7684 sed \u662f BSD sed\uff0c\u4e0d\u5149 sed\uff0c\u5f88\u591a\u6307\u4ee4\u4e24\u8005\u90fd\u6709\u533a\u522b\u3002<br \/>\u4f60\u8981\u60f3\u5728 MacOS \u4e0b\u7528 GNU \u6307\u4ee4\u5c31\u8981\u88c5 Coreutils\uff0c\u4f60\u53ef\u4ee5\u53bb\u7f51\u4e0a\u641c\u5982\u4f55\u7528 brew \u88c5\uff0c\u4ee5\u53ca\u5982\u4f55\u8bbe\u4e3a\u9ed8\u8ba4\u6307\u4ee4\u3002                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142145\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : zpfhbyx <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @libook \u611f\u8c22\uff0c\u6211\u53bb\u641c\u641c\uff0c\u4e00\u822c\u90fd\u662f linux \u4e0b\u5199 shell &#8211; &#8211; \u6ca1\u7ec6\u770b\u8fc7                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142146\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : aheadlead <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @zpfhbyx brew install gsed                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142147\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : zlowly <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             stackoverflow \u4e0a\u6709 How to convert a string to lower case in Bash?\u6bd4\u8f83\u5168\u3002\u6284\u51e0\u6761<br \/>POSIX standard<br \/>echo &#8220;AdadaBdaC&#8221; | tr &#8216;[:upper:]&#8217; &#8216;[:lower:]&#8217;<br \/>AWK<br \/>echo &#8220;AdadaBdaC&#8221; | awk &#8216;{print tolower($0)}&#8217;                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142148\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : atomduanvex <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             echo AdadaBdaC | sed -E &#8216;s\/([A-Z])\/-1\/g&#8217; | sed &#8216;s\/^-\/\/g&#8217; | tr [A-Z] [a-z]                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142149\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : ideno <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             echo &#8216;AdadaBdaC&#8217; | awk &#8216;{first=tolower(substr($0, 1, 5)); second=tolower(substr($0, 6, 3)); third=tolower(substr($0, 9)); printf(&#8220;%s-%s-%s&#8221;, first, second, third);}&#8217;                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142150\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : ideno <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             echo &#8216;AdadaBdaC&#8217; | awk &#8216;{str=tolower($0);printf(&#8220;%s-%s-%s&#8221;, substr(str, 1, 5), substr(str, 6, 3), substr(str, 9));}&#8217;                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"5142151\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : wuxi889 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @zlowly @atomduanvex @ideno \u611f\u8c22\u611f\u8c22                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li>\n","protected":false},"excerpt":{"rendered":"<p>\u6c42\u52a9 \u5728 Linux shell &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[],"tags":[],"_links":{"self":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/305187"}],"collection":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=305187"}],"version-history":[{"count":0,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/305187\/revisions"}],"wp:attachment":[{"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=305187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=305187"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=305187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}