sed-n's/(.*logs/).*/1/p'file.txt
❷ linux怎麼截取字元串請幫幫忙!謝謝誒
你要什麼樣的結果?是否用任何工具或語言都可以?
若你的是文件名,你只要輸出後面的數字,你可用grep
如你可看下以下命令的結果
ls
|
grep
"[0-9][0-9]\+"
-o
❸ Linux命令行操作一個文件,通過管道進行字元串截取
使用mv命令剪切文件。 如需要將 /tmp 目錄下的tomcat.zip文件剪切到 /usr/local 目錄下,執行下面的命令即可: # mv /tmp/tomcat.zip /usr/local
❹ linux有什麼命令可以提取指定的字元串
1. 例子
提取字元串以下字元串 error: 與 : 之間的子字元串。並消除空格。
"src/network/misc/nv_net_udp.c:17:fatalerror:nv_net_tools.h:Nosuchfileordirectory"1
2. 命令
echo"src/network/misc/nv_net_udp.c:17:fatalerror:nv_net_tools.h:Nosuchfileordirectory"|sed-r's/.*error:(.*):.*/1/'|seds/[[:space:]]//g1
該命令涉及 sed 命令的』反向引用』章節, 1 代表 (.*)
3. 結果
nv_net_tools.h1
4. 拓展 : 解決編譯錯誤
leon$makeclean&&makeallarm-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/includesrc/common/nv_conf.c-obuild/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/includesrc/network/misc/nv_net_udp.c-obuild/objs/hi3518/src/network/misc/nv_net_udp.o
src/network/misc/nv_net_udp.c:17:fatalerror:nv_net_tools.h:Nosuchfileordirectory
compilationterminated.make:***[build/objs/hi3518/src/network/misc/nv_net_udp.o]Error112345678
note: 在以上編譯過程中我們發現,編譯器提示說找不到nv_net_tools.h文件,而現實中我們也不需要這個文件的包含了,需要刪除包含nv_net_tools.h 文件中的該行代碼。
5.字元串提取 (命令行)
目標字元串
"from":"0802070975","to":"0802071013","url":"http://cn.update.mynetvue.com:8060/firmware/.tar.gz","md5":"","level":012
需要提取 from , to, url , md5, level 等5個關鍵字後面的內容。
//提取 from 內容echo
"from":"0802070975","to":"0802071013","url":"http://cn.update.mynetvue.com:8060/firmware/.tar.gz","md5":"","level":0|sed"s/.*from:(.*)/1/"|cut-d','-f1
//提取 to 內容echo
"from":"0802070975","to":"0802071013","url":"http://cn.update.mynetvue.com:8060/firmware/.tar.gz","md5":"","level":0|sed"s/.*to:(.*)/1/"|cut-d','-f1
//提取 url 內容echo
"from":"0802070975","to":"0802071013","url":"http://cn.update.mynetvue.com:8060/firmware/.tar.gz","md5":"","level":0|sed"s/.*url:(.*)/1/"|cut-d','-f1
//提取 md5 內容echo
"from":"0802070975","to":"0802071013","url":"http://cn.update.mynetvue.com:8060/firmware/.tar.gz","md5":"","level":0|sed"s/.*md5:(.*)/1/"|cut-d','-f1
//提取 level 內容echo
"from":"0802070975","to":"0802071013","url":"http://cn.update.mynetvue.com:8060/firmware/.tar.gz","md5":"","level":0|sed"s/.*level:(.*)/1/"|cut-d','-f112345678910111213141516
6.字元串提取 (腳本文件)
ret_val=""from":"0804020982","to":"0804020998","url":"http://cn.update.mynetvue.com:8060/firmware/.tar.gz","md5":"","level":0"
echoret_valis:[$ret_val]from="$(echo$ret_val|sed's/.*from":(.*)/1/'|cut-d','-f1|sed's/"//g')"
echofrom:$from
to="$(echo$ret_val|sed's/.*to":(.*)/1/'|cut-d','-f1|sed's/"//g')"
echoto:$to
url="$(echo$ret_val|sed's/.*url":(.*)/1/'|cut-d','-f1|sed's/"//g')"
echourl:$url
md5="$(echo$ret_val|sed's/.*md5":(.*)/1/'|cut-d','-f1|sed's/"//g')"
echomd5:$md5
level="$(echo$ret_val|sed's/.*level":(.*)/1/'|cut-d','-f1|sed's/"//g')"
echolevel:$
執行結果:
ret_valis:["from":"0804020982","to":"0804020998","url":"http://cn.update.mynetvue.com:8060/firmware/.tar.gz","md5":"","level":0]
from:0804020982
to:0804020998
url:http://cn.update.mynetvue.com:8060/firmware/.tar.gzmd5:
level:0
I.總結
要注意命令行執行,與腳本文件執行之間的差異性。
❺ Linux命令怎麼截取兩個字元之間的字元串 如1111[2222]3333 怎麼截取2222前
這個很簡單啦,寫一個給你吧,最簡單又能理解的
echo '1111[2222]3333' | awk -F '[' '{ print $2 }' | awk -F ']' '{ print $1 }'
或者
echo '1111[2222]3333' | cut -d '[' -f 2 | cut -d ']' -f 1
❻ 你好 請問linux中怎麼用bash命令或腳本截取一行中的子字元串
sed-n's/.*userID":"(.*)","status.*/1/woutput.txt'input.txt
❼ linux 中如何截取2個字元串中間的字元
可以用awk、sed、tr、perl都能實現
set s = '"stratum":{"accepted_shares":1,"algorithm"'
set a = `echo $s | awk -F '["/:]' '{print $4}'`
❽ Linux的shell編程中,如何將一段字元串進行截取
簡單介紹下Shell字元串截取的詳細方法,如截取指定字數、按指定的字元串截取、按指定要求分割。
一、Linux shell 截取字元變數的前8位,有方法如下:
❾ Linux下shell截取指定本文內的字元串
sqlldr|sed-n'/CQCS_OPT.I_P_GU_PLED_INFO:$/{h;:a;n;/^$/!{H;ba};g;p}'
這樣實現跟行數無關。
要將結果導入到另一個文件里,用輸出重定向,命令後面加 >>output
❿ Linux命令行操作一個文件,通過管道進行字元串截取,該如何操作
grep eth2 /etc/udev/rules.d/70-persistent-net.rules |cut -d, -f4 | sed 's/ATTR{address}==//g'