真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

shell字符串截取之cut

       cut命令是shell下一個(gè)比較強(qiáng)大的工具,它是以每一行為一個(gè)處理對(duì)象的,可以對(duì)一行字符串進(jìn)行多種模式匹配的剪切操作,也可以對(duì)一個(gè)排列整齊的文本進(jìn)行操作,下面我們就來(lái)說(shuō)說(shuō)cut這個(gè)命令吧:

特克斯網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,特克斯網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為特克斯千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的特克斯做網(wǎng)站的公司定做!

       cut命令主要有3個(gè)定位方法:

             (1)對(duì)字節(jié)的定位,用 -b 選項(xiàng)

             (2)對(duì)字符的定位,用 -c 選項(xiàng)

              ( 3 ) 域,用選型 -f

下面我們來(lái)看看具體的實(shí)現(xiàn):

  shell字符串截取之cut    

 我們來(lái)一一說(shuō)一下上面的現(xiàn)象:

        我們先用pwd命令看一下我們的當(dāng)前的路徑。然后我們想提取當(dāng)前路徑這個(gè)字符串的第4個(gè)字節(jié),就用上圖所示的這條命令:

        pwd | cut -b 4

        我們可以看到,上圖執(zhí)行這個(gè)命令之后,輸出了第四個(gè)字節(jié)m;

 所以我們這里看明白了,如果我們要提取哪一個(gè)字節(jié),直接在-b 選項(xiàng)后面加上相應(yīng)的數(shù)字就可以了。

如果我們想直接提取第3,4,5,8個(gè)字節(jié)呢?我們就可以用上圖的第二條命令:

       pwd | cut -b 3-5,8

       執(zhí)行這條命令后,我們可以看到,上圖中輸出了omex分別對(duì)應(yīng)第3,4,5,8字節(jié)。

注意:cut命令如果使用了-b選項(xiàng),那么我們?cè)趫?zhí)行命令時(shí),cut會(huì)先把-b所有的定位進(jìn)行從小到大的排序,然后再提取。比如上圖最后的那兩條命令,我們把命令里面的 “3-5,8”換成了“8,3-5”,輸出的結(jié)果是一樣的。

我們?cè)賮?lái)看看:

shell字符串截取之cut

從上圖我們可以看到,-3 和 3- 是有區(qū)別的。-3表示從第一個(gè)字節(jié)到第三個(gè)字節(jié),而 3- 表示從第三個(gè)字節(jié)以后的所有這行的內(nèi)容。

下面我們?cè)趤?lái)看看下面這兩個(gè)命令選項(xiàng)的區(qū)別:

shell字符串截取之cut

我們目前從上圖看到,這兩條命令里面的“-b”“-c”選項(xiàng)不一樣,但它們的結(jié)果一樣,那么我們?cè)賮?lái)看看下面,就知道他們的不同在哪里了:

shell字符串截取之cut

 在前面的圖中我們可以看到,當(dāng)我們要截取的都是單字節(jié)字符時(shí),使用 -b 和 -c 就沒(méi)有什么區(qū)別,但當(dāng)我們提取中文的時(shí)候呢?比如上面的那幅圖,我們寫(xiě)了個(gè)file.c文件,里面有3行漢字,我們?cè)俜謩e使用上面的兩條命令的時(shí)候,我們就可以看到區(qū)別了:當(dāng)我們用“-c”選項(xiàng)時(shí),以字符為單位,輸出是正常的,但“-b”是以字節(jié)為單位的,所以輸出就是亂碼了。所以這兩條命令還是有區(qū)別的。

下面我們來(lái)說(shuō)說(shuō)“域”這個(gè)概念:

       為什么會(huì)有“域”的提取呢?因?yàn)槲覀兩厦嫣岬降?b和-c只能在固定格式的文檔中提取信息,而對(duì)于非固定格式的信息則束手無(wú)策了,這時(shí)候,域就派上用場(chǎng)了。

       我們知道,在某些文件中會(huì)有好多冒號(hào),冒號(hào)在文件的每一行中都起到了非常重要的作用,冒號(hào)用來(lái)隔開(kāi)每一個(gè)項(xiàng)。而我們cut命令就提供了這樣的提取方式,也就是設(shè)置“間隔符”,再設(shè)置提取第幾個(gè)域就行了,我們具體來(lái)看看下面的實(shí)驗(yàn)吧:

我們?cè)诮K端執(zhí)行如下命令,可以獲得當(dāng)前bash的默認(rèn)路徑:

shell字符串截取之cut

       我們從上圖可以看到,其中的每一個(gè)路徑都被一個(gè)“:”分隔開(kāi)來(lái),假如我們現(xiàn)在想獲取第一個(gè)冒號(hào)和第二個(gè)冒號(hào)之間的路徑,我們就可以很方便的使用cut命令來(lái)幫我們實(shí)現(xiàn),我們?cè)诮K端輸入如下的命令:

shell字符串截取之cut

       從上圖的結(jié)果我們可以看到,我們提取出來(lái)了我們想要的第二個(gè)域的路徑。我們來(lái)解釋下上面的命令:-d和‘:’一起把管道輸入的一行字符串進(jìn)行了域的分隔,每一個(gè)分隔符(:)和前面的字符串被稱(chēng)為一個(gè)域。-f選項(xiàng)后面跟的是我們想提取的那個(gè)域。所以該命令cut -d ‘:’-f 2就表示輸出第二個(gè)分隔符之前的域。

如果我們執(zhí)行下面的命令:

shell字符串截取之cut

       輸入上面兩條很相近的命令,我想大家可以很清晰的看到它們的區(qū)別,第一條輸出的是第二個(gè)域和第四個(gè)域,而第二條命令輸出的是第二到四個(gè)域(正如我們?cè)趫D中用不同顏色標(biāo)注的那樣)。

 

我們?cè)趤?lái)看看cut格式化整齊的文本進(jìn)行的操作:

shell字符串截取之cut

從上面我們可以看到,這時(shí)格式化比較整齊的文本的一部分,那么我們想把前面的declare -x去掉,我們?cè)撛趺醋瞿??其?shí)做法我們上面都說(shuō)過(guò):

shell字符串截取之cut

其中的“12-”表示輸出從第12個(gè)字符以后的所有字符。其實(shí)和我們上面所說(shuō)的對(duì)字符串的操作沒(méi)有什么區(qū)別。

上面就是自己目前所知道的cut命令的基本用法。


分享文章:shell字符串截取之cut
URL標(biāo)題:http://weahome.cn/article/gicssc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部