新聞中心
linux字符串提取數(shù)字
# cat /proc/meminfo |grep -w "MemTotal"
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),三水企業(yè)網(wǎng)站建設(shè),三水品牌網(wǎng)站建設(shè),網(wǎng)站定制,三水網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,三水網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
MemTotal:? ? ? 32781228 kB
使用tr命令截取字符串
# cat /proc/meminfo |grep -w "MemTotal" | tr -cd "[0-9]"
32781228
linux有什么命令可以提取指定的字符串
1. 例子
提取字符串以下字符串 error: 與 : 之間的子字符串。并消除空格。
"src/network/misc/nv_net_udp.c:17:?fatal?error:?nv_net_tools.h:?No?such?file?or?directory"1
2. 命令
echo?"src/network/misc/nv_net_udp.c:17:?fatal?error:?nv_net_tools.h:?No?such?file?or?directory"?|?sed?-r?'s/.*error\:(.*)\:.*/\1/'?|?sed?s/[[:space:]]//g1
該命令涉及 sed 命令的’反向引用’章節(jié), \1 代表 (.*)
3. 結(jié)果
nv_net_tools.h1
4. 拓展 : 解決編譯錯(cuò)誤
leon$??make?clean??make?all?arm-hisiv100nptl-linux-gcc?-c?-fPIC?-Wall?-g?-ggdb?-O0?-DHI3518_CHIP?-DLINUX?-I./src/include?-I./src/include/common?-I./src/include/camera?-I./src/include/conf?-I./src/include/log?-I./src/include/network?-I./src/include/upnp?-I/home/leon/nvc/arm-hisiv100nptl-linux/include?src/common/nv_conf.c?-o?build/objs/hi3518/src/common/nv_conf.o/*省略中間部分*/arm-hisiv100nptl-linux-gcc?-c?-fPIC?-Wall?-g?-ggdb?-O0?-DHI3518_CHIP?-DLINUX?-I./src/include?-I./src/include/common?-I./src/include/camera?-I./src/include/conf?-I./src/include/log?-I./src/include/network?-I./src/include/upnp?-I/home/leon/nvc/arm-hisiv100nptl-linux/include?src/network/misc/nv_net_udp.c?-o?build/objs/hi3518/src/network/misc/nv_net_udp.o
src/network/misc/nv_net_udp.c:17:?fatal?error:?nv_net_tools.h:?No?such?file?or?directory
compilation?terminated.make:?***?[build/objs/hi3518/src/network/misc/nv_net_udp.o]?Error?112345678
note: 在以上編譯過程中我們發(fā)現(xiàn),編譯器提示說找不到nv_net_tools.h文件,而現(xiàn)實(shí)中我們也不需要這個(gè)文件的包含了,需要?jiǎng)h除包含nv_net_tools.h 文件中的該行代碼。
5.字符串提取 (命令行)
目標(biāo)字符串
"from":"0802070975","to":"0802071013","url":"","md5":"ace4b34383f964442a591559d0afb296","level":0?12
需要提取 from , to, url , md5, level 等5個(gè)關(guān)鍵字后面的內(nèi)容。
//提取 from ?內(nèi)容echo
"from":"0802070975","to":"0802071013","url":"","md5":"ace4b34383f964442a591559d0afb296","level":0?|??sed?"s/.*from:\(.*\)/\1/"?|??cut?-d?','?-f1
//提取 to 內(nèi)容echo
"from":"0802070975","to":"0802071013","url":"","md5":"ace4b34383f964442a591559d0afb296","level":0?|??sed?"s/.*to:\(.*\)/\1/"?|??cut?-d?','?-f1
//提取 url ?內(nèi)容echo
"from":"0802070975","to":"0802071013","url":"","md5":"ace4b34383f964442a591559d0afb296","level":0?|??sed?"s/.*url:\(.*\)/\1/"?|??cut?-d?','?-f1
//提取 md5 內(nèi)容echo
"from":"0802070975","to":"0802071013","url":"","md5":"ace4b34383f964442a591559d0afb296","level":0?|??sed?"s/.*md5:\(.*\)/\1/"?|??cut?-d?','?-f1
//提取 level 內(nèi)容echo
"from":"0802070975","to":"0802071013","url":"","md5":"ace4b34383f964442a591559d0afb296","level":0?|??sed?"s/.*level:\(.*\)/\1/"?|??cut?-d?','?-f112345678910111213141516
6.字符串提取 (腳本文件)
ret_val="\"from\":\"0804020982\",\"to\":\"0804020998\",\"url\":\"\",\"md5\":\"408d261924e6c271200fdf14d3a230cc\",\"level\":0"
echo?ret_val?is?:?[?$ret_val?]from="$(echo?$ret_val?|?sed?'s/.*from\"\:\(.*\)/\1/'?|??cut?-d?','?-f1?|??sed?'s/"http://g')"
echo?from:?$from
to="$(echo?$ret_val?|?sed?'s/.*to\"\:\(.*\)/\1/'?|??cut?-d?','?-f1?|??sed?'s/"http://g')"
echo?to:?$to
url="$(echo?$ret_val?|?sed?'s/.*url\"\:\(.*\)/\1/'?|??cut?-d?','?-f1?|??sed?'s/"http://g')"
echo?url:?$url
md5="$(echo?$ret_val?|?sed?'s/.*md5\"\:\(.*\)/\1/'?|??cut?-d?','?-f1?|?sed?'s/"http://g')"
echo?md5:?$md5
level="$(echo?$ret_val?|?sed?'s/.*level\"\:\(.*\)/\1/'?|??cut?-d?','?-f1?|?sed?'s/"http://g')"
echo?level:?$level12345678910111213141516171819
執(zhí)行結(jié)果:
ret_val?is?:?[?"from":"0804020982","to":"0804020998","url":"","md5":"408d261924e6c271200fdf14d3a230cc","level":0?]
from:?0804020982
to:?0804020998
url:?:?408d261924e6c271200fdf14d3a230cc
level:?0
I.總結(jié)
要注意命令行執(zhí)行,與腳本文件執(zhí)行之間的差異性。
linux 中如何截取2個(gè)字符串中間的字符?
可以用awk、sed、tr、perl都能實(shí)現(xiàn)
set s = '"stratum":{"accepted_shares":1,"algorithm"'
set a = `echo $s | awk -F '["/:]' '{print $4}'`
本文名稱:linux命令截取字符串,linux 字符串截取命令
本文路徑:http://ef60e0e.cn/article/hdhpjo.html