1. 例子
10年積累的網站建設、成都網站制作經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站設計制作后付款的網站建設流程,更有靈寶免費網站建設讓你可以放心的選擇與我們合作。
提取字符串以下字符串 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 命令的’反向引用’章節, \1 代表 (.*)
3. 結果
nv_net_tools.h1
4. 拓展 : 解決編譯錯誤
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: 在以上編譯過程中我們發現,編譯器提示說找不到nv_net_tools.h文件,而現實中我們也不需要這個文件的包含了,需要刪除包含nv_net_tools.h 文件中的該行代碼。
5.字符串提取 (命令行)
目標字符串
"from":"0802070975","to":"0802071013","url":"","md5":"ace4b34383f964442a591559d0afb296","level":0?12
需要提取 from , to, url , md5, level 等5個關鍵字后面的內容。
//提取 from ?內容echo
"from":"0802070975","to":"0802071013","url":"","md5":"ace4b34383f964442a591559d0afb296","level":0?|??sed?"s/.*from:\(.*\)/\1/"?|??cut?-d?','?-f1
//提取 to 內容echo
"from":"0802070975","to":"0802071013","url":"","md5":"ace4b34383f964442a591559d0afb296","level":0?|??sed?"s/.*to:\(.*\)/\1/"?|??cut?-d?','?-f1
//提取 url ?內容echo
"from":"0802070975","to":"0802071013","url":"","md5":"ace4b34383f964442a591559d0afb296","level":0?|??sed?"s/.*url:\(.*\)/\1/"?|??cut?-d?','?-f1
//提取 md5 內容echo
"from":"0802070975","to":"0802071013","url":"","md5":"ace4b34383f964442a591559d0afb296","level":0?|??sed?"s/.*md5:\(.*\)/\1/"?|??cut?-d?','?-f1
//提取 level 內容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
執行結果:
ret_val?is?:?[?"from":"0804020982","to":"0804020998","url":"","md5":"408d261924e6c271200fdf14d3a230cc","level":0?]
from:?0804020982
to:?0804020998
url:?:?408d261924e6c271200fdf14d3a230cc
level:?0
I.總結
要注意命令行執行,與腳本文件執行之間的差異性。
這個就需要依靠非常熟練的 LINUX / UNIX SHELL 編程技術、以及 python 語言來提取表格文本中的某列了。具體的如何實現方法,你可以參考相關的 SHELL 編程技術、以及 python 語言編程的書籍,使用程序的方式提取出你需要的任意一列內容。
在Linux系統中cut命令作用是從文件中的每一行中截取出一些部分,并輸出到標準輸出中。下面是具體介紹cut命令的內容:
1、語法:
$cutOPTION...[FILE]...
2、選項:
-f:提取指定的字段,cut命令使用Tab作為默認的分隔符。
-d:Tab是默認的分隔符,使用這一選項可以指定自己的分隔符。
-b:提取指定的字節,也可以指定一個范圍。
-c:提取指定的字符,可以是以逗號分隔的數字的列表,也可以是以連字符分隔的數字的范圍。
–complement:補充選中的部分,即反選。
–output-delimiter:修改輸出時使用的分隔符。
--only-delimited:不輸出不包含分隔符的列。
3、參數:
文件:指定要進行內容過濾的文件。
網站欄目:linux命令提取 linux命令提取日志
網站路徑:http://vcdvsql.cn/article28/ddiggcp.html
成都網站建設公司_創新互聯,為您提供建站公司、面包屑導航、動態網站、全網營銷推廣、ChatGPT、小程序開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯