导航:首页 > 净水问答 > linux过滤掉某个字符

linux过滤掉某个字符

发布时间:2020-12-17 06:10:37

1. 在linux系统如何grep过滤中,不包含某些字符

1、linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
2、格式
grep[options]
3、主要参数
[options]主要参数:
-c:只输出匹配行的计数。
-I:不区分大小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
pattern正则表达式主要参数:
\:忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
\<:从匹配正则表达式的行开始。
\>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求。
。:所有的单个字符。
* :有字符,长度可以为0。
4、grep命令使用简单实例:
$ grep ‘test’d*
显示所有以d开头的文件中包含test的行。
$ grep ‘test’aa bb cc
显示在aa,bb,cc文件中匹配test的行。
$ grep‘[a-z]\{5\}’ aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

2. linux下怎样在一个文件里面查找一个字符串

在normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车。版

Vim会跳转到第一个匹配。权按下n查找下一个,按下N查找上一个。

Vim查找支持正则表达式,例如/vim$匹配行尾的"vim"。 需要查找特殊字符需要转义,例如/vim$匹配"vim$"。

实战一下:

1、用vim打开要查找的文件

注意,如果没有安装vim,系统会提示安装语句,复制运行即可安装vim

3. 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.总结

要注意命令行执行,与脚本文件执行之间的差异性。

4. linux控制字符 是什么,如col命令。过滤掉控制字符。控制字符是个啥

就是一些会改变终端状态(控制终端)的字符(包括在ASCII表非字符的那些里面)

基本上就是一些Ctrl-* 或者 Alt-*之类的 (准确的说是可以用这些键输入的)

5. linux sed命令替换特定字符之后的字符

1、首先进入到Linux系统,分别创建两个目录vim1、vim2。

6. linux怎么删除指定的字符之间的字符串

sed'/^testres/s_.*NormalTest.__'filename>newfile

7. linux中怎么去除只包含某个字符的行

只包含和包含的含义不一样哦。
只包含版
sed "/^-$/d" a.txt > tmp.txt
包含
sed "/-/d" a.txt > tmp.txt

tmp.txt就是你要的文件权.

t:root:/tmp> sed "/^-$/d" a.txt
abc - def
ghi
jik
- abd
ggg
t:root:/tmp> sed "/-/d" a.txt
ghi
jik
ggg
t:root:/tmp> cat a.txt
-
abc - def
ghi
jik
-
- abd
ggg

8. Linux中如何杀掉进程中包含特定字符串的所有进程

kill -9 $(pgrep 要杀死的进程名中所含的字符串),示例:
kill -9 $(pgrep dock)

杀死进程名中含有dock的所有进程

9. shell去掉字符串中的特定字符,如去:"123456789"中的""双引号

sed 's;pub/test/aaa.txt;d' file

sed命令的s后面第一个字符就是分隔符,分隔符跟你说的特殊字符不一样就可以版了。

10. Linux 文本筛选特定字符,具体请看里面

grep '^/bin$' rootdir

阅读全文

与linux过滤掉某个字符相关的资料

热点内容
饮水机怎么用整桶水 浏览:972
净水器废水管延长 浏览:492
热水器怎么清理水垢视频 浏览:536
如何控制废水处理中的氮循环 浏览:386
地暖除垢过滤器多久清洗 浏览:87
空气滤芯什么时候该换了 浏览:527
清除地面环氧树脂胶用什么好 浏览:771
酚醛树脂分解形成甲醛 浏览:530
什么是血透的水处理的好处 浏览:522
去除热原的阳离子交换树脂 浏览:590
农村污水渗井6 浏览:916
二级ro纯水ph值标准是多少 浏览:221
净水器滤芯多少时间更换视频 浏览:63
蒙脱石阳离子交换量 浏览:776
13款凯美瑞机油滤芯在哪里 浏览:264
离子交换生产工艺流程图 浏览:154
纯水机电路图怎么接 浏览:635
城市污水补充在哪里 浏览:876
吉林edi反渗透设备 浏览:495
容声热水器排污水 浏览:61