婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Unix 操作系統中處理字符串問題的簡單方式

Unix 操作系統中處理字符串問題的簡單方式

熱門標簽:北海智能電銷機器人公司 地圖標注與注記總結 南京自動外呼系統有哪些 赤峰防封電銷卡 地圖標注山峰最低高度 信陽外呼系統廠家 人工電銷和ai機器人的區別 地圖標注多個城市 駐馬店電話自動外呼系統怎么樣
在Unix操作系統中,說實話其字符串的處理功能實在不強。如沒有現成的length(獲取字符串的長度)等函數。要實現對字符串的操作,往往需要采用 expr命令結合相關的通配符來實現一些特定的功能。雖然在Unix操作系統中,對于字符串的操作比較麻煩。但是系統工程師只要知道各種處理方式特點與缺點,那么對癥下藥,仍然可以找到一些簡單的方式來處理系統中的字符串問題。

  一、對用戶輸入的字符串長度進行驗證。

  系統工程師有時候往往需要對用戶輸入的字符串長度進行驗證。如在設計一個登陸程序時,為了安全起見,可能需要限制用戶密碼輸入的最小位數,如必須是六位以上的密碼等等。此時,其實就是統計用戶輸入的字符串長度問題。如果用戶輸入的密碼長度不夠,就提醒用戶;如果夠的話,就直接保存用戶輸入的信息。所以,簡單的說這可以利用if語句或者while循環判斷語句來實現。而這個條件則可以利用expr關鍵字來實現。

  如果用判斷用戶輸入的字符串長度,可以利用如下的格式來寫。Expr “$userpasswd” : ’.*’ 即可。在編寫這個命令時,需要注意一些基本的規則。如這個expr命令往往需要使用兩個表達式,而且中間需要使用英文狀態小的冒號進行分割。而且這個兩個表達式的順序也有嚴格的限制。冒號左邊是需要處理的字符串(需要統計長度的字符串或者變量),而冒號右邊則是普通的正則表達式。其次,需要處理的字符串需要使用雙引號括起來。這里跟普通命令中字符串的處理方式有所不同。在普通的命令中,變量不需要使用雙引號因起來。如果引起起來的話,則系統反而會將其當作常量來處理。但是如果在if條件語句中將利用這個命令來統計字符串長度時,則需要將變量使用雙引號引起來。這個字符串處理上的差異需要注意,不少系統工程師在這里吃過虧。第三,有時候正則表達式也需要利用單引號來引起來。如上面的’.*’則表示所有匹配的字符。如果不使用單引號的話,系統可能會提示語法錯誤。

  二、截取字符串。

  有時候系統管理員需要截取字符串的自串來完成特定的任務。如現在系統工程師需要對某個文件根據系統的時間來進行命名,其命名的規則為年份(最后兩位)加月份的形式,即0906表示這個文件是09年6月份創建的。因為每個月創建一個獨立的日志文件,為此按這個格式對其進行命名算是比較合理的。但是在系統中實現起來有一定的困難。然后通過date命令加上一些可選項參數可以截取日期的年份、月份等信息。可是利用date命令截取的年份是四位數字(如 2009),而不是兩位數字。這跟系統工程師的需求還有一定的距離。那么如果一定要采用年份的兩位數字來對文件或者文件夾進行命名,該如何處理呢?

  此時就需要用到expr命令的另一個功能,即截取字符串的功能。一般來說,expr命令主要有三個功能,分別為求字符串的長度、截取字符子串、求一個字符在一個字符串中的位置。當然如果這些功能跟其他命令結合使用的話,可以實現一些比較復雜的需求。在Unix系統中,如果需要截取字符串的話,筆者首先建議的是采用一些自帶的命令。如date %w則表示顯示今天星期幾。雖然expr命令也可以實現類似的功能,但是初期起來比較麻煩。為此對于截取字符串筆者建議,能夠使用系統自帶功能來實現的,那么就使用系統自帶的命令。如果沒有的話,那么就只有用過expr命令來實現。也就是說,expr 是一個通用的命令,所有的字符串截取工作其都可以完成。只是代碼書寫起來沒有那些系統自帶命令那么簡單。如果現在系統工程師需要截取年份的后兩位數字,此時該如何處理呢?在系統轉義字符的幫助下,可以完成這個功能。如下所示:

  $expr “2009” : ‘..\(..\)’

  在實現這個功能的時候,筆者使用了\這個轉義字符。這個正則表達式的含義就表示只考慮前面這個字符串的最后兩個字符,而忽略其他的字符。若需要利用上面這個規則來進行文件命令的話,只需要先利用這個命令截取年份的最后兩位,然后再把月份加上去即可。上面的字符串2009系統工程師也可以使用變量來代替。系統工程師需要注意的是這個正則表達式的書寫方法。在使用expr命令來對字符串進行處理,其難點就在于這個正則表達式的書寫。通常情況下,只要合理編寫這個正則表達式,則其字符串的處理功能,并不會比數據庫系統中字符串處理函數來的差,甚至有過之而不及。現在的主要問題是,由于經驗有限,系統工程師往往很難根據用戶需求來定義這個正則表達式。就連筆者有時候也會在這里卡住。如果系統工程師想要提高自己正則表達式的書寫能力,那么多看看其他系統工程師書寫的腳本,往往能夠在最短時間內提高自己正則表達式的書寫水平。

  三、修改文件的擴展名。

  如現在操作系統中某個目錄下面有很多的sh文件(Unix系統中的配置文件,其實跟txt相同)。現在系統工程師需要將這些sh文件的擴展名改掉,全部改為txt。雖然可以通過一個個的手工修改來實現,但是處理起來的難度比較大。

  如果要實現批量更改文件擴展名的話,則可以借助for等循環語句來實現。不過循環語句內部的操作有兩種實現方式。一是采用expr命令。其實對文件名進行操作,說到底就是對字符串的操作。因為文件名字也是一種字符串。如系統工程師可以先利用expr命令截取字符串的功能,將擴展名前面的字符串截取出來,然后將其保存在一個變量中,如filenameshort。然后再利用系統的重命名或者移動文件的命令,對系統進行重命名,如$filenameshortdoc。這就可以實現更改擴展名的需求。不過筆者并不建議采用這個expr命令來完成這個需求。因為當文件名的長度不固定時,這個正則表達式比價難寫。要將文件名字符串截取出來(去掉擴展名的名字),有一定的難度。

  在這里,筆者介紹另外一個命令basename命令。其實這也是一個字符串相關的處理命令。其基本格式為basename text1 text2。他的基本功能就是從第一個字符串中去掉第二個字符串的內容。如執行命令basename setup.sh sh,則就表示將setup.sh這個字符串中的sh字符串去掉,變為setup.。那么此就可以利用這個命令來進行成批修改擴展名。其具體的實現方式跟上面類似。只是在截取文件名字符串的時候,采用了basename命令,而不是expr命令。而basename命令本身就帶有截取字符串的功能,不需要采用正則表達式。所以實現起來相對簡單一點。

  從這個案例中,筆者也想再次強調一下一個字符串處理的基本原則。即無論是截取字符串還是對字符串進行的其他操作,如果可以通過系統命令+可選項參數來實現的,就采用這種實現方式。如果沒有的話,需要考慮能否采用basename等不需要正則表達式的命令來實現。只有在以上兩種方式都不可行的情況下,才考慮使用exper命令來實現。這主要是因為正則表達式的設計實在比較麻煩,雖然其功能比較強大。利用exper來統計一下字符串的長度還好,但是如果要實現一些復雜功能,如截取字符串或者確定字符的位置,就需要系統工程師有比較深厚的功底了。

標簽:張家界 廣元 烏蘭察布 梧州 晉中 達州 信陽 德陽

巨人網絡通訊聲明:本文標題《Unix 操作系統中處理字符串問題的簡單方式》,本文關鍵詞  Unix,操作系統,中,處理,字符串,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Unix 操作系統中處理字符串問題的簡單方式》相關的同類信息!
  • 本頁收集關于Unix 操作系統中處理字符串問題的簡單方式的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲成人av中文| 中文字幕在线视频一区| zzijzzij亚洲日本少妇熟睡| 蜜臀av一区二区三区| 色诱视频网站一区| 色av一区二区| **性色生活片久久毛片| 成人app下载| 国产精品无遮挡| 成人网页在线观看| 亚洲精品一区二区三区精华液| 青椒成人免费视频| 日韩一级免费一区| 极品少妇一区二区三区精品视频| 久久女同性恋中文字幕| 成人激情开心网| 亚洲资源中文字幕| 日韩亚洲欧美高清| 成人av网站在线| 亚洲一卡二卡三卡四卡五卡| 91精品国产欧美日韩| 狠狠色伊人亚洲综合成人| 国产精品久久久久一区二区三区| 一本一道综合狠狠老| 久久99国内精品| 亚洲美女精品一区| 欧美成人性战久久| av在线播放成人| 久久精品国产成人一区二区三区| 中文字幕在线观看不卡| 日韩一卡二卡三卡国产欧美| 99久久精品免费精品国产| 日本怡春院一区二区| 亚洲久本草在线中文字幕| 日韩精品一区二区三区蜜臀 | 欧美经典一区二区| 99精品国产91久久久久久 | 亚洲美女免费视频| 久久综合一区二区| 欧美伊人精品成人久久综合97| 久久精品国产网站| 亚洲香蕉伊在人在线观| 中文字幕不卡三区| 精品福利二区三区| 欧美日本一区二区| 色一情一乱一乱一91av| 国产91丝袜在线播放| 久久精品国产精品亚洲综合| 日韩精品一卡二卡三卡四卡无卡| 亚洲女同一区二区| 亚洲欧洲精品成人久久奇米网| xf在线a精品一区二区视频网站| 欧美日韩免费在线视频| 在线精品视频一区二区三四| 91美女片黄在线| 成人av在线网站| 成人性色生活片| 成人一区二区三区| av一区二区久久| 99久久99久久综合| 色一情一伦一子一伦一区| av一本久道久久综合久久鬼色| 国产成人免费视频| 成人高清视频免费观看| 99久久精品99国产精品| 91美女视频网站| 91福利在线导航| 欧美三级中文字| 69精品人人人人| 26uuu色噜噜精品一区二区| 国产丝袜美腿一区二区三区| 中文字幕中文乱码欧美一区二区| 亚洲天堂精品在线观看| 中文字幕一区视频| 亚洲日本成人在线观看| 亚洲国产精品一区二区尤物区| 日韩国产精品久久久| 久久99九九99精品| 99久久国产免费看| 欧美精选一区二区| 欧美成人vps| 国产精品嫩草影院com| 亚洲国产一区二区视频| 久久国产麻豆精品| 成人性生交大合| 精品视频123区在线观看| 欧美成人高清电影在线| 中文字幕欧美一区| 青青草国产成人av片免费| 成人免费的视频| 欧美人伦禁忌dvd放荡欲情| 欧美精品一区二区三区久久久| 一区在线中文字幕| 日韩av一区二区三区| 国产999精品久久久久久| 欧美日韩在线播| 久久精品网站免费观看| 午夜精品视频一区| 成人午夜精品在线| 日韩你懂的电影在线观看| 亚洲三级电影网站| 麻豆精品国产91久久久久久| 91色在线porny| 精品少妇一区二区三区视频免付费 | 丝袜诱惑亚洲看片| 国产精品88888| 欧美精品在线观看播放| 国产精品视频你懂的| 免费观看一级特黄欧美大片| 9i在线看片成人免费| 日韩三级伦理片妻子的秘密按摩| 亚洲色图在线看| 国产精品综合一区二区| 日韩三级av在线播放| 一区二区三区在线播| 成人激情小说乱人伦| 久久先锋影音av| 免费高清在线一区| 欧美日韩国产大片| 亚洲三级小视频| 成人免费观看男女羞羞视频| 国产亚洲欧美在线| 理论片日本一区| 91精品国产综合久久久蜜臀图片 | www国产成人| 日本va欧美va精品| 欧美私人免费视频| 亚洲日本成人在线观看| av激情综合网| 国产精品久久久久久久第一福利 | eeuss鲁一区二区三区| 久久毛片高清国产| 国产在线精品一区在线观看麻豆| 在线播放欧美女士性生活| 一区二区三国产精华液| 成人aa视频在线观看| 国产午夜一区二区三区| 国产一区二区三区视频在线播放 | 欧美一区二区三区免费观看视频 | 亚洲黄色小视频| 99国产欧美久久久精品| 国产精品久久久久久久久动漫| 99久久久精品| 综合av第一页| 色噜噜夜夜夜综合网| 亚洲欧美日本在线| 91官网在线免费观看| 午夜成人免费电影| 日韩一区二区麻豆国产| 九一九一国产精品| 久久久激情视频| 粉嫩蜜臀av国产精品网站| 国产精品无码永久免费888| av不卡免费电影| 亚洲一区在线观看网站| 欧美一区二区三区四区视频| 九九国产精品视频| 国产精品热久久久久夜色精品三区| 一本到高清视频免费精品| 午夜免费欧美电影| 精品99久久久久久| 91浏览器打开| 免费在线欧美视频| 日韩一区日韩二区| 日韩欧美一级精品久久| 波多野结衣欧美| 亚洲h精品动漫在线观看| ww久久中文字幕| 欧美日韩一区二区在线观看视频| 久久福利资源站| 亚洲人成精品久久久久| 欧美一级视频精品观看| av爱爱亚洲一区| 蜜芽一区二区三区| 国产精品久久久99| 欧美mv和日韩mv的网站| 欧美三级在线视频| 懂色av一区二区三区免费观看| 亚洲一区免费观看| 国产精品污网站| 日韩一级大片在线观看| 日本久久一区二区| 高清国产一区二区| 美女脱光内衣内裤视频久久网站| 亚洲精品中文字幕乱码三区| 久久蜜桃av一区二区天堂| 欧美一区二区女人| 欧美视频完全免费看| 99视频一区二区| 国内精品免费**视频| 蜜芽一区二区三区| 亚洲成人av福利| 一区二区三区在线视频播放| 国产精品欧美久久久久一区二区| 337p粉嫩大胆噜噜噜噜噜91av | 99精品欧美一区二区三区小说| 久久成人综合网| 丝袜诱惑制服诱惑色一区在线观看| 亚洲特黄一级片| 日韩理论片网站|