新聞中心
在linux系統(tǒng)中,有時某些場景可能需要快速從字符串中提取數(shù)字作為重要變量,下面將介紹一些實現(xiàn)Linux快速提取數(shù)字的方法。

專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)定襄免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。
1. 使用基于模式匹配的方法抓取數(shù)字。
在Linux下,我們可以使用grep命令或正則表達式(Regular Expression)實現(xiàn)將字符串中的數(shù)字提取出來,這里提供一個簡單的示例:
suppose一個字符串String=”I have number 10, it’s so important”,那么要從中提取10,只需使用grep命令:
$ grep -o “[0-9]\+”
10
2. 使用awk命令處理數(shù)字
對于字符串里多個數(shù)字,則可以使用awk命令結合正則表達式,使用類似于同樣的方法,可以獲得一行多個數(shù)字:
suppose一個字符串String=”I have number 10 and other number 15, it’s so important”,那么直接一行awk處理即可:
$ echo “I have number 10 and other number 15, it’s so important” | awk ‘{while (match($0,/[0-9]+/) ) {m=substr($0, RSTART, RLENGTH);print m; $0=substr($0, RSTART+RLENGTH)}}’
10
15
3. 使用sed命令處理字符串
使用sed可以非常方便地從帶特定文本的句子中提取數(shù)字,如果字符串中只有一個數(shù)字,我們可以使用sed命令對字符串進行處理:
suppose一個字符串String=”I have number 10, it’s so important”,依舊可以利用sed把它摘取出來:
$ echo “I have number 10, it’s so important” | sed -rn ‘s/.*\b([0-9]+)\b.*/\1/p’
10
總之,Linux系統(tǒng)提供了很多方式來實現(xiàn)快速提取數(shù)字,主要由grep、awk、sed等常用命令來實現(xiàn)提取數(shù)字操作,也可以使用正則表達式和字串模式匹配,還可以使用外部腳本語言(如Perl)來完成提取數(shù)字操作,比如Perl能夠根據(jù)條件來把字符串中的數(shù)字摘取出來。 因此,Linux系統(tǒng)中快速提取數(shù)字的方法是非常豐富的。
創(chuàng)新互聯(lián)服務器托管擁有成都T3+級標準機房資源,具備完善的安防設施、三線及BGP網(wǎng)絡接入帶寬達10T,機柜接入千兆交換機,能夠有效保證服務器托管業(yè)務安全、可靠、穩(wěn)定、高效運行;創(chuàng)新互聯(lián)專注于成都服務器托管租用十余年,得到成都等地區(qū)行業(yè)客戶的一致認可。
當前文章:Linux快速提取數(shù)字的方法(linux提取數(shù)字)
當前鏈接:http://m.5511xx.com/article/cdgdghs.html


咨詢
建站咨詢
