linux字符命令 linux字符界面

linux有什么命令可以提取指定的字符串1. 例子
提取字符串以下字符串 error: 与 : 之间linux字符命令的子字符串 。并消除空格 。
"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 cleanmake 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: 在以上编译过程中linux字符命令我们发现,编译器提示说找不到nv_net_tools.h文件linux字符命令,而现实中linux字符命令我们也不需要这个文件的包含linux字符命令了,需要删除包含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
【linux字符命令 linux字符界面】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下想对文件的行首行尾 添加 ' 字符 命令是什么用sed命令在行首或行尾添加字符linux字符命令的命令有以下几种linux字符命令:
假设处理的文本为test.file
在每行的头添加字符,比如"HEAD",命令如下:
sed
's/^/HEAD/g'
test.file
在每行的行尾添加字符,比如“TAIL”,命令如下:
sed
's/$/TAIL/g'
test.file
运行结果如下图:
几点说明:
1."^"代表行首,"$"代表行尾
2.'s/$/TAIL/g'中的字符g代表每行出现的字符全部替换,如果想在特定字符处添加 , g就有用了,否则只会替换每行第一个,而不继续往后找了
例:
3.如果想导出文件,在命令末尾加"
outfile_name";如果想在原文件上更改,添加选项"-i",如
4.也可以把两条命令和在一起,在test.file的每一行的行头和行尾分别添加字符"HEAD"、“TAIL”,命令:sed
'/./{s/^/HEAD/;s/$/TAIL/}'
test.file
查看linux字符编码命令i).在 Vim 中可以直接查看文件编码(shift:)输入set fileencoding 即可显示文件编码格式 。
如果你只是想查看其它编码格式的文件或者想解决用 Vim 查看文件乱码的问题 , 那么你可以在 ~/.vimrc 文件中添加以下内容: set
encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936 这样,就可以让 vim 自动识别文件编码
(可以自动识别 UTF-8或者 GBK 编码的文件) ,其实就是依照 fileencodings
提供的编码列表尝试,如果没有找到合适的编码,就用 latin-1(ASCII)编码打开 。
ii). enca (需要安装)查看文件编码:$enca filename filename: Universal
transformation format 8 bits; UTF-8 CRLF line terminators 需要说明一点的是,enca
对某些 GBK 编码的文件识别的不是很好,识别时会出现: Unrecognized encoding
iii)还有一种很简单的方式,file 文件名 可以查看非elf文件的编码格式
在linux中查找字符串用什么命令Linux查找字符串用grep命令,可以查找文件 , 也可以在命令的结果中查找 。如果是在文件中查找字符串,用法是:
grep 用英文单引号括起来的字符串 文件名
如果是在命令的显示结果中查找 , 需要用管道符将命令与grep连接起来,像这样:
last | grep 'root'
(在last命令的显示结果中查找字符串root)
关于linux字符命令和linux字符界面的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读