日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

如何在Unix結(jié)果中抽取想要的參數(shù)

瀏覽:30日期:2024-06-14 10:06:25

大部分的Unix操作系統(tǒng)命令,其命令執(zhí)行后都會(huì)輸出比較詳細(xì)的參數(shù)。但是有時(shí)候系統(tǒng)工程師可能不需要這么詳細(xì)的信息。如date命令,其會(huì)顯示時(shí)間、日期、年數(shù)等等信息。但是系統(tǒng)工程師在開(kāi)發(fā)一些應(yīng)用程序的時(shí)候,可能只需要時(shí)間信息。為此就需要利用一些工具從中抽取相關(guān)的參數(shù)信息。其實(shí)不光光是在Unix系統(tǒng)管理中,在其他一些程序的開(kāi)發(fā)平臺(tái)中也會(huì)遇到這種情況。而其他一些平臺(tái)的話(huà),他們則是通過(guò)字符串截取或者其他一些類(lèi)似的方法實(shí)現(xiàn)。而在Unix系統(tǒng)中則提供了一些比較專(zhuān)業(yè)的命令,用來(lái)操作位置參數(shù)。如set和shift命令。

在介紹這兩個(gè)命令的使用要點(diǎn)之前,筆者先給大家看一個(gè)截圖。如下圖所示,這張圖就是利用set命令來(lái)來(lái)操作位置參數(shù)。讓其從date命令中抽取部分結(jié)果。這個(gè)特性不僅可以格式化顯示結(jié)果,而且在shell中開(kāi)發(fā)一些應(yīng)用程序?qū)?huì)變得很有用。

一、set命令簡(jiǎn)介。

在Unix系統(tǒng)中,set命令時(shí)一個(gè)很有用的系統(tǒng)命令,其可以幫助系統(tǒng)管理員實(shí)現(xiàn)很多需求,如設(shè)置環(huán)境變量等等。在這里,其主要是用來(lái)實(shí)現(xiàn)這支位置參數(shù)。其實(shí)在Unix系統(tǒng)中,有很多種方法可以用來(lái)實(shí)現(xiàn)在命令結(jié)果中抽取特定的參數(shù)。如可以利用外部命令cut實(shí)現(xiàn)從一個(gè)輸出結(jié)果中截取一個(gè)字段的內(nèi)容。但是,利用cut命令來(lái)實(shí)現(xiàn)這個(gè)功能的話(huà),就顯得有點(diǎn)業(yè)余了。既然Unix操作系統(tǒng)提供了其他一些更加專(zhuān)業(yè)的命令來(lái)實(shí)現(xiàn)這些功能,系統(tǒng)工程師為什么要舍近求遠(yuǎn)呢?

其實(shí)在Unix系統(tǒng)中的標(biāo)準(zhǔn)shell中就提供了一些內(nèi)部命令,來(lái)實(shí)現(xiàn)功能。其中set命令就是比較有代表性的一個(gè)命令。Set命令可以把參數(shù)賦值給$1、$2等位置參數(shù)。通過(guò)情況下,如果系統(tǒng)工程師要從程序的輸出結(jié)果中提取某些內(nèi)容則往往是利用這個(gè)命令來(lái)實(shí)現(xiàn)。

二、set命令的具體實(shí)現(xiàn)過(guò)程以及需要注意的內(nèi)容。

在談set命令的具體實(shí)現(xiàn)過(guò)程之前,筆者先跟大家介紹一些位置參數(shù)與命令顯示結(jié)果之間的關(guān)系。了解他們的內(nèi)在關(guān)系是系統(tǒng)工程師使用操作位置參數(shù)命令的前提。如上圖所示,利用date命令顯示出“Mon Apr 20 08:29:40 CST 2009系統(tǒng)的當(dāng)前時(shí)間的結(jié)果。這個(gè)結(jié)果從左到右其對(duì)應(yīng)的存儲(chǔ)位置分別為$1、$2等等,以此類(lèi)推。也就是說(shuō),這個(gè)顯示結(jié)果就好像其他開(kāi)發(fā)程序中的數(shù)組,系統(tǒng)利用空格來(lái)區(qū)分字段,并把每個(gè)字段的內(nèi)容依次存入到數(shù)組中。不過(guò)這里需要注意的是,其他開(kāi)發(fā)程序的數(shù)組往往是從0開(kāi)始。而在Unix系統(tǒng)中,這個(gè)位置參數(shù)則是從$1開(kāi)始。為此系統(tǒng)工程師如果要截取第一個(gè)字段內(nèi)容的話(huà),則應(yīng)該是$1而不是$0。筆者是先學(xué)C等開(kāi)發(fā)語(yǔ)言平臺(tái),然后再學(xué)Unix系統(tǒng)。由于有了一個(gè)先入為主的觀念,為此后來(lái)在使用set命令的時(shí)候,經(jīng)常犯迷糊。故筆者提醒各位系統(tǒng)工程師,在這方面要特別注意顯示結(jié)果內(nèi)容與位置參數(shù)的對(duì)應(yīng)關(guān)系,第一個(gè)字段對(duì)應(yīng)的位置參數(shù)位$1。了解了這個(gè)內(nèi)容之后,則利用set命令來(lái)操縱顯示結(jié)果則就比較容易了。如上圖所示,通常情況下只需要通過(guò)簡(jiǎn)單的兩不就可以完成這個(gè)功能了。

第一步:利用set命令把它的參數(shù)轉(zhuǎn)換為位置參數(shù)。

在使用這個(gè)命令之前,筆者認(rèn)為系統(tǒng)工程師應(yīng)該先明白一個(gè)道理。就是默認(rèn)情況下,命令的輸出結(jié)果其往往都是顯示在終端中,或者通過(guò)重定向符號(hào)顯示在一個(gè)特定的文件中。但是無(wú)論是哪一種顯示方式,其往往不會(huì)跟位置參數(shù)關(guān)聯(lián)起來(lái)。如上圖中,一開(kāi)始運(yùn)行一個(gè)date命令時(shí),會(huì)輸出相應(yīng)的時(shí)間信息。此時(shí)這個(gè)輸出結(jié)果中有6個(gè)字段,但是其根本沒(méi)有跟位置參數(shù)形成一一對(duì)應(yīng)的關(guān)系。其只是一個(gè)簡(jiǎn)單的字符串而已。如果系統(tǒng)工程師要利用慚怍位置參數(shù)命令從這個(gè)結(jié)果沖抽取內(nèi)容的話(huà),則一定需要把命令的結(jié)果轉(zhuǎn)換為位置參數(shù)。而set命令就是用來(lái)實(shí)現(xiàn)這個(gè)目的的。

如利用set ‘date’命令,就可以利用把它的參數(shù)結(jié)果轉(zhuǎn)化為位置參數(shù)。如此設(shè)置之后,在顯示的結(jié)果中系統(tǒng)就會(huì)把第一個(gè)字段賦值給位置參數(shù)$1,第二個(gè)字段賦值給位置參數(shù)$2,依次類(lèi)推。在這里筆者再?gòu)?qiáng)調(diào)一次,第一個(gè)位置參數(shù)為$1,而不是$0。因?yàn)楣P者以前犯這個(gè)錯(cuò)誤犯怕了,所以在這里不厭其煩的強(qiáng)調(diào)這個(gè)內(nèi)容,希望能夠引起大家的重視。

第二步:利用echo命令來(lái)顯示位置參數(shù)所代表的內(nèi)容。

把位置參數(shù)與輸出結(jié)果一一對(duì)應(yīng)之后,系統(tǒng)工程師就可以利用echo命令或者在應(yīng)用程序中直接引用位置參數(shù)從某個(gè)命令的輸出結(jié)果中截取相關(guān)的內(nèi)容。通常情況下,系統(tǒng)工程師可以一次抽取一個(gè)字段,也可以一次抽取多個(gè)字段。而且難能可貴的是,命令中還可以使用通配符。如果系統(tǒng)工程師需要顯示所有位置參數(shù)所對(duì)應(yīng)的內(nèi)容,也就是原有命令顯示的結(jié)果,則可以利用echo $*來(lái)實(shí)現(xiàn)。通配符*號(hào)就表示所有的位置參數(shù)。不過(guò)需要注意的是,在引用位置參數(shù)的時(shí)候,要把前面的$美元符號(hào)加上去。即echo $1 與echo 1會(huì)顯示兩個(gè)不同的結(jié)果。前者就是位置參數(shù)$1所代表的字段內(nèi)容;而后者直接顯示為1。因?yàn)?不是有效的位置參數(shù),而只是把它當(dāng)作一個(gè)簡(jiǎn)單的字符來(lái)處理。

三、set命令的高級(jí)應(yīng)用。

上面舉的例子其實(shí)只是set命令的一個(gè)教學(xué)例子。在實(shí)際工作中,這主要是用來(lái)讓大家理解set命令來(lái)截取輸出結(jié)果的基本原理。筆者現(xiàn)在要介紹的就是系統(tǒng)工程師在實(shí)際工作中經(jīng)常要用到的內(nèi)容,大家要睜開(kāi)眼看仔細(xì)了。

1、從其他文件中或者不規(guī)則分隔符的結(jié)果中截取字段。如上面所示的輸出結(jié)果中,各個(gè)字段時(shí)通過(guò)空格符號(hào)來(lái)分隔的。也即是說(shuō),set命令使用的參數(shù)分隔符默認(rèn)情況下采用的是空格符號(hào)分隔符。如果顯示的結(jié)果不是以空格符號(hào)分隔的,還是以分號(hào)或者橫桿來(lái)區(qū)分的(系統(tǒng)工程師平時(shí)遇到最多的就是利用分號(hào)或者/符號(hào)來(lái)分隔的內(nèi)容),那么就不能利用這個(gè)命令了嗎?其實(shí)系統(tǒng)工程師可以根據(jù)實(shí)際情況來(lái)設(shè)置這個(gè)分隔符。也就是說(shuō),系統(tǒng)工程師可以利用這個(gè)set命令來(lái)操作位置參數(shù),從而從任何輸出結(jié)果中(分隔符不同)截取所需要的內(nèi)容。

2、有利于備份的工作。其實(shí)在備份作業(yè)中,這個(gè)特性就非常有用。如筆者在Unix系統(tǒng)上簡(jiǎn)易部署了一個(gè)文件服務(wù)器。在這個(gè)服務(wù)器上,存儲(chǔ)有企業(yè)所有員工的日常工作文件。為此其日常的安全就顯得非常的重要。此時(shí)系統(tǒng)工程師可以采用日被分的方式,把備份文件保存為一個(gè)月。也就是說(shuō),在系統(tǒng)中創(chuàng)建1-31一共三十一個(gè)文件夾。然后把文件服務(wù)器中的備份文件按照日期一次保存到這三十一個(gè)文件夾中。也就是說(shuō)1日的備份文件保存在文件夾名字為1的文件夾中,2日的備分文件備份到名字為2的文件夾中,依次類(lèi)推。這個(gè)備份功能程序不難,系統(tǒng)工程師可以編寫(xiě)一個(gè)腳本程序來(lái)完成。困難的是,系統(tǒng)如何根據(jù)當(dāng)前的日期把備份文件保存到特定的文件夾中。此時(shí)就需要用刀這個(gè)set命令。系統(tǒng)工程師可以利用set命令來(lái)抽取系統(tǒng)日期中的第三個(gè)位置參數(shù)。然后根據(jù)這個(gè)參數(shù)創(chuàng)建文件夾(創(chuàng)建文件夾時(shí),如果文件夾已經(jīng)存在,則系統(tǒng)會(huì)自動(dòng)覆蓋這個(gè)文件夾)。就是這么簡(jiǎn)單,就可以完成按日來(lái)保存?zhèn)浞菸募恕?梢?jiàn),利用set命令截取某個(gè)輸出結(jié)果中的內(nèi)容這是一個(gè)基礎(chǔ)性的功能。他跟其他命令或者程序結(jié)合則可以發(fā)揮意想不到的效果。為此筆者建議各位系統(tǒng)工程師,要牢記如何通過(guò)set命令來(lái)從輸出結(jié)果中截取必要的參數(shù)。或許在什么時(shí)候就用的著了。另外需要注意的就是,set命令可以通過(guò)各種分隔符來(lái)截取相關(guān)的字段,而不僅僅只是支持一個(gè)空格分隔符,如可以從一個(gè)分號(hào)分隔的參數(shù)文件中獲取相關(guān)的參數(shù)等等。

標(biāo)簽: Unix系統(tǒng)
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲日本久久| 欧美日韩亚洲一区在线观看| 国产日韩视频在线| 日韩精品91亚洲二区在线观看| 国户精品久久久久久久久久久不卡| 国产精成人品2018| 日韩av二区在线播放| 国产乱码精品一区二区三区亚洲人| 日韩国产一区二| 国产精东传媒成人av电影| 精品国产精品久久一区免费式| 九九99久久精品在免费线bt| 精品一二三区| 99国产精品免费视频观看| 亚洲一本视频| 999久久久亚洲| 亚洲一区二区三区在线免费| 亚洲精品免费观看| 国产精品久久久久77777丨| 你懂的亚洲视频| 日韩理论片av| 蜜臀av在线播放一区二区三区| 日韩av资源网| av亚洲一区二区三区| 在线视频亚洲欧美中文| 久久99久久久精品欧美| 久久一区二区三区电影| 少妇精品久久久| 日韩av自拍| 亚洲精品日韩久久| 国产精品白丝一区二区三区| 欧美日韩视频免费观看| 亚洲69av| 99久久婷婷| 国产激情久久| 视频一区二区中文字幕| 精品视频网站| 亚洲日本免费电影| 少妇久久久久| 麻豆久久一区二区| 六月婷婷一区| 日韩国产一区| 日韩中文字幕一区二区高清99| 久久亚洲人体| 亚洲一区区二区| 精品国产a一区二区三区v免费| 国产午夜精品一区二区三区欧美| 成人午夜在线| 国产亚洲高清一区| 国产精品色网| 国产欧洲在线| 国产精品mm| 中文字幕日韩亚洲| 久久一区二区三区喷水| 国产精品一区二区三区美女| 国产精品婷婷| 欧美日韩免费看片| 国产丝袜一区| 日韩欧美中文字幕电影| 亚洲深夜av| 成人一区而且| 97精品资源在线观看| 一本一本久久| 一区久久精品| 91九色精品| 日韩在线看片| 亚洲黄色中文字幕| 免费一级欧美片在线观看网站 | 免费日本视频一区| 91成人超碰| 亚洲国产专区校园欧美| 91精品一区国产高清在线gif | 国产一区二区三区网| 国产免费av一区二区三区| 亚洲91在线| 日韩二区三区在线观看| 日韩av资源网| 欧美久久一区二区三区| 国产精品qvod| 欧美日韩免费观看视频| 欧美日韩在线网站| 久久影视一区| 日韩中文字幕麻豆| 免费视频最近日韩| 欧美日韩四区| 蜜臀精品久久久久久蜜臀| 视频一区二区国产| 国产视频网站一区二区三区| 国产精品最新自拍| 97精品国产| 亚洲欧美日韩专区| 欧美在线观看天堂一区二区三区| 国产探花一区在线观看| 日韩国产一区二区三区| 午夜在线精品偷拍| 国产精品美女在线观看直播| 亚洲美女久久精品| 欧美专区18| 麻豆精品新av中文字幕| 精品视频网站| 欧美日韩国产一区二区三区不卡| 亚洲美洲欧洲综合国产一区| 日韩超碰人人爽人人做人人添| 国产一区二区三区四区| 亚洲一区二区毛片| 国产一区二区亚洲| 亚洲欧美日韩国产一区| 精品国产午夜肉伦伦影院| 国产综合亚洲精品一区二| 日韩不卡在线观看日韩不卡视频 | 欧美激情久久久久久久久久久| 国产v综合v| 国产美女久久| 在线亚洲自拍| 亚洲精品系列| 中文另类视频| 久久精品国产久精国产| 亚洲欧洲免费| 中文精品电影| 美女网站久久| 久久中文亚洲字幕| 热三久草你在线| 欧美激情aⅴ一区二区三区| 美女久久网站| 欧美亚洲国产激情| 伊人久久婷婷| 久久久久免费av| 亚洲精品88| 欧洲精品一区二区三区| 狠狠久久伊人中文字幕| 欧美成a人片免费观看久久五月天| 国产精品尤物| 亚洲黄色中文字幕| 久久精品免费一区二区三区 | 精品久久亚洲| 国产v综合v| 中文字幕av亚洲精品一部二部| 日本午夜精品久久久久| 日韩精品视频一区二区三区| 日韩一级不卡| 亚洲精选久久| 美女久久99| 免费观看亚洲| 午夜日韩在线| 日韩一区二区三免费高清在线观看| 最近国产精品视频| 欧美精品97| 日韩精品中文字幕第1页| 999久久久国产精品| 石原莉奈在线亚洲二区| 国产欧美一区二区色老头| 成人在线免费观看91| 久久中文字幕av一区二区不卡| 日韩精品一级中文字幕精品视频免费观看 | 91嫩草精品| 国产乱论精品| 午夜久久中文| 日本aⅴ精品一区二区三区| av资源中文在线| 日日夜夜免费精品视频| 色乱码一区二区三区网站| 亚洲在线观看| 视频福利一区| 欧美精品国产白浆久久久久| sm捆绑调教国产免费网站在线观看 | 国产一区福利| 亚洲色图综合| 精品国产欧美日韩一区二区三区| 9色国产精品| 国产欧美在线| 国产盗摄——sm在线视频| 亚洲免费黄色| 欧美国产精品| 91精品观看| 国产精品极品在线观看| 日韩成人三级| 日本少妇精品亚洲第一区| 99在线精品免费视频九九视| 日韩av一区二区在线影视| 日韩精品免费一区二区三区| 亚洲人成亚洲精品| 国产精品一区二区美女视频免费看| 久久久天天操| 久久精品国产68国产精品亚洲| 日韩一区二区久久| 成人亚洲一区| 婷婷五月色综合香五月| 国产精品99免费看| 麻豆一区二区三区| av在线最新| 丰满少妇一区| 精品视频在线你懂得| 亚洲青青久久| 国产欧美69| 视频一区二区国产| 久久精品亚洲人成影院| 久久99久久人婷婷精品综合| 国产一区日韩一区| 亚洲在线网站| 亚洲一二av|