发布网友 发布时间:2022-04-23 12:50
共3个回答
懂视网 时间:2022-05-06 21:24
grep -E l{2,} 2.txtgrep -E h(ell|a)o test.txtgrep [a-z]{5,} test.txtgrep -xf a.txt b.txt //查询a与b共同存在的行grep -vxf b.txt a.txt //查询a的行不在b文件里面的,就是a比b多出来的行 grep -v ^h test.txt //显示非以h开发的 grep -E ^(h|y) tes
grep -E 'l{2,}' 2.txt grep -E 'h(ell|a)o' test.txt grep '[a-z]{5,}' test.txt grep -xf a.txt b.txt //查询a与b共同存在的行 grep -vxf b.txt a.txt //查询a的行不在b文件里面的,就是a比b多出来的行 grep -v '^h' test.txt //显示非以h开发的 grep -E '^(h|y)' test.txt //-E支持扩展正则,相当于egrep grep -A 1 'hello' test.txt //除了显示匹配到的行也显示它之后的一行 grep -B 1 'hello' test.txt //除了显示匹配到的行也显示它之前的一行 grep -C 1 'hello' test.txt //除了显示匹配到的行也显示它之前和之后的一行 grep -r "hello" xx //在xx目录查找 grep -c //统计匹配的行数 grep -n //显示行号 grep -v '^hello' test.txt //显示不以hello开头的行 --很聪明的写法,第一位不以h开发,第二位不以e开发。。。 grep '^[^h]|^.[^e]|^..[^l]|^...[^l]|^....[^o]' [options]主要参数: -c:只输出匹配行的计数。 -I:不区分大 小写(只适用于单字符)。 -h:查询多文件时不显示文件名。 -l:查询多文件时只输出包含匹配字符的文件名。 -n:显示匹配行及 行号。 -s:不显示不存在或无匹配文本的错误信息。 -v:显示不包含匹配文本的所有行。 命令正则表达式: . 匹配单个字符 如..X yiX能查出来 ^ 匹配行首 ^d 每行第一个字符为d $ 匹配行尾 T$ 每行最后一个字符为T * 匹配任意字符串 屏蔽特殊字符的含义 A{2}B 字母A出现两次 A{2,}B 至少出现两次 A{2,4}B 出现2到4次 [0-9]{4}xx[0-9]{4} 前四个是数字,中间是xx,后四个是数字 pattern正则表达式主要参数: : 忽略正则表达式中特殊字符的原有含义。 ^:匹配正则表达式的开始行。 $: 匹配正则表达式的结束行。 <:从匹配正则表达 式的行开始。 锚定单词的开始,如:/
热心网友 时间:2022-05-06 18:32
grep 命令是匹配关键词相应行的功能,
“ol.*oy” 这是正则关键词 意思是 ol+ .*表示任意个 任意字符+oy 的词
test.txt 是文件名
综合所述就是在test.txt文件中匹配ol...oy相应词对应的行。
热心网友 时间:2022-05-06 19:50
题主你好,
你的问题其实可以分为个知识点:
1.grep命令的一般用法;
grep一般是用来将一个文件中包含指定字符串的行打印出来,举例来说:
有一个名为hello.txt的文件,内容为:
123
234
345
然后我有一条命令:
grep "2" hello.txt
执行结果为:
123
234
也就是将文件hell.txt中所有包含2的行都打印出来
2. ".*" 是啥意思;
点星 它俩在一起表示"匹配任意长度的任意字符",举例来说:
a.*b 可以匹配 a1b a0b ahellob a...dfsfsb 等等只要开头是a结尾是b的字符串就会被匹配上
-----
所以 grep "ol.*oy" test.txt这条命令的作用是:
在 test.txt这个文件中将包含ol.*oy的字符串打印出来.
假设test.txt文件内容为:
abcdol666oylsajdflj
defasdfol88888aboy
12ol34
则问题中grep "ol.*oy" test.txt输出的结果为:
abcdol666oylsajdflj
defasdfol88888aboy
即第一行中ol.*oy匹配的是ol666oy, 此时.*匹配的是666
第二行ol.*oy匹配的是ol88888aboy, 此时.*匹配的是88888ab
-----
写在最后: .*是一种常用的正则表达式, 文本匹配中正则表达式作用很大,有精力题主可以系统学一下.
希望可以帮到题主,欢迎追问.