linux 通配符 java通配符

大家好,今天小编来为大家解答linux 通配符这个问题,java通配符很多人还不知道,现在让我们一起来看看吧!

Linux正则表达式与通配符

正则表达式:在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索或替换那些符合某个模式的文本内容。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。

只有掌握了正则表达式,才能全面地掌握 Linux下的常用文本工具(例如:grep、egrep、GUN sed、 Awk等)的用法

grep、sed、awk天然支持正则

grep-v代表反选,反向选择匹配到的内容

grep-E代表使用扩展正则

grep-P代表使用Perl正则

sed-r代表使用扩展正则

正则表达式分为三类(man grep可以看到,分别是basic RegExs,extended RegExs,perl RegExs)

1、基本的正则表达式(Basic Regular Expression又叫 Basic RegEx简称 BREs)

2、扩展的正则表达式(Extended Regular Expression又叫 Extended RegEx简称 EREs)

3、Perl的正则表达式(Perl Regular Expression又叫 Perl RegEx简称 PREs)

b.处理过程:查找文本文件中是否包含要查找的“关键字”(关键字可以是正则表达式),默认返回匹配的该行的内容

c. grep|egrep处理文件时,按行处理|

| sed| sed| sed-r|-| a.处理对象:文本文件

b.处理操作:对文本文件的内容进行查找、替换、删除、增加等操作

c. sed在处理文本文件的时候,按行处理|

| awk|-| awk|-| a. awk处理的对象:文本文件

b. awk处理操作:主要是对列进行操作|

注意:egrep或 sed-r默认使用扩展正则表达式(EREs),一般特殊字符({})可以不转义

grep-E以及egrep(Extend Regular Expression)

Linux通配符和三剑客的正则表达式是不一样的,因此,代表的意义也有较大的区别。

通配符一般用户命令行bash环境,而linux正则表达式用于grep, sed, awk场景。

通配符说明

示例:*的使用:代表任意0-N个字符,代表所有字符

在linux中,通配符*和

在查找文件时,通配符*与?的含义是:*表示任意多个字符,?表示任意一个字符

通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件/文本。当查找时,可以使用它来代替一个或多个真正字符;当不知道真正字符时,常常使用通配符代替一个或多个真正的字符。

比如用“*Not?pad”可以对应Notpad\MyNotpad【*可以代表任何文字】;Notpad\Notepad【?仅代表单个字】;Notepad\Notepod【ao代表a与o里二选一】,其余以此类推。

扩展资料

常用的通配符:

任意单个字符:?

任意字符串:*

任意数字(单个):[0-9]

所有非数字字符:[!0-9]

任意英文字母:[a-zA-Z]

表达式:()

单词结尾:<

单词开头:>

参考资料:百度百科-通配符

Linux命令环境中的通配符有哪些它们的不同点是什么

通配符 1、基本的通配符有哪些?·“?”可替代单个字符。·“*”可替代任意字符。·方括号“[charset]”可替代charset集中的任何单个字符。对最后一条做些解释。[cChH]通配符便可替代c或h字符的大小写形式。通配符集还能描述介于字符对之间的所有字符。如“[a-z]”就可以代替任意小写字母,而[a-zA-Z]则可替代任意字母。注意可替代的字符包括字符包括字符对之间的所有字符。与DOS相比,UNIX的通配符机制要比DOS好得多。在DOS中,任何在“*”之后,在“.”之彰的字符均被忽略,所以下面的指令将不能得到你想象的结果。 del*bak.*在DOS中,用户只能用此命令删除当前目前下的所有文件,除非系统要求你不这样做。而在UNIX系统中,“*”可替代包括0在内的任意数字的字符,但一行中的其余特征也仍需匹配,因此“bak.*”可匹配 newbak.save、oldbak.new甚至bak.temp,但不能和newbak匹配,因为后者不含“.”。这非常巧妙,可大大方便用户,而“*bak”则可匹配以上所有的词条,包括newbak。 2、能在一条指令中用多个通配符吗?可以,如 rm a*out*tmp?该命令可以删除一系列临时性的输出文件,如ab.out.temp1、ab.out.temp1等。 3、如何利用通配符使指令更灵活? UNIX可将有一定关的文件看作一集合的一部分,用户可以用该集合去匹配。所以,如果你需要删除file1.temp、file2.temp……file9.temp,只须健入: rm file[0-9].temp该技巧的用处在于可以用删除那些相要删除的文件。如果你每天都要为一个非常重要的数据库做一个“dump”报告,你把文件存入dump.date%h%d,它包括一系列文件如下: dump.jun23 dump jun24 dump jun25 dump.jun26再让我们假设因为每个文件的容量都在100M左右,所以磁盘空间很快会被占满,因此需要每隔几天删去一些老的文件,只留下最近的两个文件,为此,键入: rm–i du*[34]这条指令将删去那些以“du”开头并以“3”或“4”结尾的文件。

阅读剩余
THE END