截取字符串linux命令 linux截取文本指定内容
linux 中如何截取2个字符串中间的字符?
可以用awk、sed、tr、perl都能实现
成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的黄石港网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
set s = '"stratum":{"accepted_shares":1,"algorithm"'
set a = `echo $s | awk -F '["/:]' '{print $4}'`
Linux命令行操作一个文件,通过管道进行字符串截取
使用mv命令剪切文件。 如需要将 /tmp 目录下的tomcat.zip文件剪切到 /usr/local 目录下,执行下面的命令即可: # 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 命令的’反向引用’章节, \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/"//g')"
echo from: $from
to="$(echo $ret_val | sed 's/.*to\"\:\(.*\)/\1/' | cut -d ',' -f1 | sed 's/"//g')"
echo to: $to
url="$(echo $ret_val | sed 's/.*url\"\:\(.*\)/\1/' | cut -d ',' -f1 | sed 's/"//g')"
echo url: $url
md5="$(echo $ret_val | sed 's/.*md5\"\:\(.*\)/\1/' | cut -d ',' -f1 | sed 's/"//g')"
echo md5: $md5
level="$(echo $ret_val | sed 's/.*level\"\:\(.*\)/\1/' | cut -d ',' -f1 | sed 's/"//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中的字符截取
参考链接:
从 截去 的角度上说,总结为: 左#右%
从 截取 的角度上说,反过来。
其中,string 表示要截取的字符,chars 是指定的字符(或者子字符串), * 是通配符的一种,表示任意长度的字符串。
*chars 连起来使用的意思是:忽略左边的所有字符,直到遇见 chars(chars 不会被截取)。
如果希望直到最后一个指定字符(子字符串)再匹配结束,那么可以使用##,具体格式为:
2.使用 % 截取左边字符
使用%号可以截取指定字符(或者子字符串)左边的所有字符,具体格式如下:
请注意 * 的位置,因为要截取 chars 左边的字符,而忽略 chars 右边的字符,所以*应该位于 chars 的右侧。其他方面%和#的用法相同,这里不再赘述,仅举例说明:
文章名称:截取字符串linux命令 linux截取文本指定内容
文章来源:http://abwzjs.com/article/doecshg.html