截取字符串linux命令 linux截取文本指定內(nèi)容

linux 中如何截取2個(gè)字符串中間的字符?

可以用awk、sed、tr、perl都能實(shí)現(xiàn)

成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的黃石港網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

set s = '"stratum":{"accepted_shares":1,"algorithm"'

set a = `echo $s | awk -F '["/:]' '{print $4}'`

Linux命令行操作一個(gè)文件,通過(guò)管道進(jìn)行字符串截取

使用mv命令剪切文件。 如需要將 /tmp 目錄下的tomcat.zip文件剪切到 /usr/local 目錄下,執(zhí)行下面的命令即可: # mv /tmp/tomcat.zip /usr/local

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: 在以上編譯過(guò)程中我們發(fā)現(xiàn),編譯器提示說(shuō)找不到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中的字符截取

參考鏈接:

從 截去 的角度上說(shuō),總結(jié)為: 左#右%

從 截取 的角度上說(shuō),反過(guò)來(lái)。

其中,string 表示要截取的字符,chars 是指定的字符(或者子字符串), * 是通配符的一種,表示任意長(zhǎng)度的字符串。

*chars 連起來(lái)使用的意思是:忽略左邊的所有字符,直到遇見(jiàn) chars(chars 不會(huì)被截?。?/p>

如果希望直到最后一個(gè)指定字符(子字符串)再匹配結(jié)束,那么可以使用##,具體格式為:

2.使用 % 截取左邊字符

使用%號(hào)可以截取指定字符(或者子字符串)左邊的所有字符,具體格式如下:

請(qǐng)注意 * 的位置,因?yàn)橐厝?chars 左邊的字符,而忽略 chars 右邊的字符,所以*應(yīng)該位于 chars 的右側(cè)。其他方面%和#的用法相同,這里不再贅述,僅舉例說(shuō)明:

分享標(biāo)題:截取字符串linux命令 linux截取文本指定內(nèi)容
文章鏈接:http://muchs.cn/article46/doecshg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、做網(wǎng)站、動(dòng)態(tài)網(wǎng)站云服務(wù)器、靜態(tài)網(wǎng)站、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司