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

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

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个连续小写字符的字符串的行。

字符匹配:

. :匹配任意单个字符

[] :匹配指定范围内的任意单个字符;

[^]:匹配制定范围外任意单个字符 [:digit:] lower upper alpha alnum space

匹配次数:用在要指定其出现的次数的字符后面,用于限制其前面字符出现的次数

*:匹配其在前面的字符任意次:0,1.多次

.*:匹配任意长度的任意字符

\?:匹配其前面字符0次或一次,及前面字符是可有可无

\+:匹配其前面字符一次或是多次,至少一次,

\{m\}匹配前面字符m次

\{m.n\}匹配其前面的字符至少m次,之多n次

\{0,n\}:之多n次

\{m,\} :至少m次

位置锚定:

^:行首锚定:用于模式的最左侧

$:行尾锚定:用于模式的最右侧

^PATTERN:用于PATTERN

^$:空白行

^[[:space:]]:空行或包含空白字符的行

单词:非特殊字符组成的连续字符(字符串)都成为单词

\

\>或是\b:词尾锚定,用于单词模式的右侧

\:匹配完整单词

以上所述是小编给大家介绍的Linux中基本正则表达式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

1、如果文件名是第一个字符不是特殊符号,可以按一下第一个字母,通过tab键补全删除。

2、如果文件名第一个字符是特殊符号,考虑转义。比如 rm -rf \(123

删除以(开头的文件


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8215954.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存