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

Linux中在复制一个目录时排除其中的某个文件,方法案例如下:

#新建一个test1目录

[oracle@prod ~]$ mkdir test1

#新建一个test2目录

[oracle@prod ~]$ mkdir test2

#进入test1目录

[oracle@prod ~]$ cd test1

#在test1目录新建5个txt文件

[oracle@prod test1]$ touch 1.txt 2.txt 3.txt 4.txt zhidao.txt

#然后复制test1目录文件到test2目录,排除zhidao.txt

[oracle@prod test1]$cp `ls | grep -v zhidao.txt | xargs` ../test2

#进入test2目录

[oracle@prod test1]$ cd ../test2

#查看test2目录文件,已经排除了zhidao.txt

[oracle@prod test2]$ ls -lt

total 0

-rw-r--r-- 1 oracle oinstall 0 Mar 10 17:20 1.txt

-rw-r--r-- 1 oracle oinstall 0 Mar 10 17:20 2.txt

-rw-r--r-- 1 oracle oinstall 0 Mar 10 17:20 3.txt

-rw-r--r-- 1 oracle oinstall 0 Mar 10 17:20 4.txt


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存