Docs/shell/shell切分字符串.html
2022-10-18 16:59:37 +08:00

165 lines
No EOL
6.1 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="tool" content="leanote-desktop-app">
<title>shell切分字符串</title>
<style>
*{font-family:"lucida grande","lucida sans unicode",lucida,helvetica,"Hiragino Sans GB","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;}
body {
margin: 0;
}
/*公用文字样式*/
h1{font-size:30px}h2{font-size:24px}h3{font-size:18px}h4{font-size:14px}
.note-container{
width:850px;
margin:auto;
padding: 10px 20px;
box-shadow: 1px 1px 10px #eee;
}
#title {
margin: 0;
}
table {
margin-bottom: 16px;
border-collapse: collapse;
}
table th, table td {
padding: 6px 13px;
border: 1px solid #ddd;
}
table th {
font-weight: bold;
}
table tr {
background-color: none;
border-top: 1px solid #ccc;
}
table tr:nth-child(2n) {
background-color: rgb(247, 247, 249);
}
.mce-item-table, .mce-item-table td, .mce-item-table th, .mce-item-table caption {
border: 1px solid #ddd;
border-collapse: collapse;
padding: 6px 13px;
}
blockquote {
border-left-width:10px;
background-color:rgba(128,128,128,0.05);
border-top-right-radius:5px;
border-bottom-right-radius:5px;
padding:15px 20px;
border-left:5px solid rgba(128,128,128,0.075);
}
blockquote p {
margin-bottom:1.1em;
font-size:1em;
line-height:1.45
}
blockquote ul:last-child,blockquote ol:last-child {
margin-bottom:0
}
pre {
padding: 18px;
background-color: #f7f7f9;
border: 1px solid #e1e1e8;
border-radius: 3px;
display: block;
}
code {
padding: 2px 4px;
font-size: 90%;
color: #c7254e;
white-space: nowrap;
background-color: #f9f2f4;
border-radius: 4px;
}
.footnote {
vertical-align: top;
position: relative;
top: -0.5em;
font-size: .8em;
}
hr {
margin:2em 0
}
img {
max-width:100%
}
pre {
word-break:break-word
}
p,pre,pre.prettyprint,blockquote {
margin:0 0 1.1em
}
hr {
margin:2em 0
}
img {
max-width:100%
}
.sequence-diagram,.flow-chart {
text-align:center;
margin-bottom:1.1em
}
.sequence-diagram text,.flow-chart text {
font-size:15px !important;
font-family:"Source Sans Pro",sans-serif !important
}
.sequence-diagram [fill="#ffffff"],.flow-chart [fill="#ffffff"] {
fill:#f6f6f6
}
.sequence-diagram [stroke="#000000"],.flow-chart [stroke="#000000"] {
stroke:#3f3f3f
}
.sequence-diagram text[stroke="#000000"],.flow-chart text[stroke="#000000"] {
stroke:none
}
.sequence-diagram [fill="#000"],.flow-chart [fill="#000"],.sequence-diagram [fill="#000000"],.flow-chart [fill="#000000"],.sequence-diagram [fill="black"],.flow-chart [fill="black"] {
fill:#3f3f3f
}
ul,ol {
margin-bottom:1.1em
}
ul ul,ol ul,ul ol,ol ol {
margin-bottom:1.1em
}
kbd {
padding:.1em .6em;
border:1px solid rgba(63,63,63,0.25);
-webkit-box-shadow:0 1px 0 rgba(63,63,63,0.25);
box-shadow:0 1px 0 rgba(63,63,63,0.25);
font-size:.7em;
font-family:sans-serif;
background-color:#fff;
color:#333;
border-radius:3px;
display:inline-block;
margin:0 .1em;
white-space:nowrap
}
.toc ul {
list-style-type:none;
margin-bottom:15px
}
</style>
<!-- 该css供自定义样式 -->
<link href="../leanote-html.css" rel="stylesheet">
</head>
<body>
<div class="note-container">
<h1 class="title" id="leanote-title">shell切分字符串</h1>
<div class="content-html" id="leanote-content"><p>假设有变量 var=http://www.aaa.com/123.htm.</p><p><strong>1. # 号截取,删除左边字符,保留右边字符。</strong></p><pre id="leanote_ace_1510641012228_0" class="brush:sh ace-tomorrow" data-mce-style="line-height: 1.5; font-size: 14px; height: 21px;">echo ${var#*//}</pre><div class="cnblogs_Highlighter sh-gutter"></div><p>&nbsp;其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符<br>即删除 http://<br>结果是 www.aaa.com/123.htm</p><p><strong>2. ## 号截取,删除左边字符,保留右边字符。</strong></p><pre id="leanote_ace_1510641029237_0" class="brush:sh ace-tomorrow" data-mce-style="line-height: 1.5; font-size: 14px; height: 21px;">echo ${var##*/}</pre><p>##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符<br>即删除 http://www.aaa.com/</p><p>结果是 123.htm</p><p><strong>3. %号截取,删除右边字符,保留左边字符</strong></p><pre id="leanote_ace_1510641048759_0" class="brush:sh ace-tomorrow" data-mce-style="line-height: 1.5; font-size: 14px; height: 21px;">echo ${var%/*}</pre><p>%/* 表示从右边开始,删除第一个 / 号及右边的字符</p><p>结果是http://www.aaa.com</p><p><strong>4. %% 号截取,删除右边字符,保留左边字符</strong></p><pre id="leanote_ace_1510641063144_0" class="brush:sh ace-tomorrow" data-mce-style="line-height: 1.5; font-size: 14px; height: 21px;">echo ${var%%/*}</pre><div class="cnblogs_Highlighter sh-gutter"></div><p>&nbsp;%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符<br>结果是http:<br>5. 从左边第几个字符开始,及字符的个数</p><pre id="leanote_ace_1510641082309_0" class="brush:sh ace-tomorrow">echo ${var:0:5}</pre><p>其中的 0 表示左边第一个字符开始5 表示字符的总个数。<br>结果是http:</p><p><strong>6. 从左边第几个字符开始,一直到结束。</strong></p><pre id="leanote_ace_1510641095161_0" class="brush:sh ace-tomorrow">echo ${var:7}</pre><p>其中的 7 表示左边第8个字符开始一直到结束。<br>结果是 www.aaa.com/123.htm</p><p><strong>7. 从右边第几个字符开始,及字符的个数</strong></p><pre id="leanote_ace_1510641110972_0" class="brush:sh ace-tomorrow">echo ${var:0-7:3}</pre><p>其中的 0-7 表示右边算起第七个字符开始3 表示字符的个数。<br>结果是123</p><p><strong>8. 从右边第几个字符开始,一直到结束。</strong></p><pre id="leanote_ace_1510641115755_0" class="brush:sh ace-tomorrow">echo ${var:0-7}</pre><p>表示从右边第七个字符开始,一直到结束。<br>结果是123.htm</p><p>注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)</p></div>
</div>
<!-- 该js供其它处理 -->
<script src="../leanote-html.js"></script>
</body>
</html>