通配符 特殊符号与正则表达式

课前:磁盘空间不足系列:
原因 排查过程 解决
1.block df -h; du -sh /data/* 具体的文件或目录 确认之后删除
2.block(硬连接数为0 进程调用数不为0) lsof|grep delete 重启对应的服务
3.inode df -i; 找出系统中大于1M的目录 删除大量小文件
时间:
Mtime Modify time 修改时间
Ctime Change time 文件属性变化时间
atime Access time 访问时间(cat)
Stat/etc/hosts 三种时间同时查看
第1章 通配符与特殊符号
1.1 特殊符号
引号系列:‘’所见即所得
“”解析里面的特殊符号
``反引号 优先执行里面的内容$()===
不加引号跟双引号类似 会执行{}里面的内容
重定向符号:> 标准输出重定向 先把文件内容清空追加

>标准输出追加重定向
2> 标准错误输出重定向
2>>标准错误输出追加重定向
<标准输入重定向 xargs tr下使用
<<标准输入追加重定向 与cat配合追加多行内容 cat>>oldboy.txt<<EOF oldboyedu.com EOF
2>&1把错误的内容和正确的内容记录到文件中 echo oldboy >/tmp/log 2>&1
位置系列
~ 家目录
.当前目录
..上一级目录
-cd- 上一级所在位置 su – 切换用户
&& and||
Ifdown eth0 关闭eth0

1.1.1 $ ! ; 的区别

注释 root用户的命令提示符

$ Awk取出某一列 普通用户的命令的提示符
!ls 找出最近一次以ls开头的命令并执行
!! 运行上一次的命令
; 在同一行中分割多条命令
1.2 通配符

  • 所有 以…..结尾 以……开头
    {} 生成序列
    1.2.1 #找出以.conf结尾的文件
    find / -type f -name ".conf"
    1.2.2 #找出系统中文件名包含ifconfig (文件名中有ifconfig就行)
    [[email protected] ~]# find / -type f -name "
    ifconfig*" 找出系统中文件名包含ifconfig
    /usr/sbin/pifconfig
    /usr/share/man/de/man8/ifconfig.8.gz
    /usr/share/man/pt/man8/ifconfig.8.gz
    /usr/share/man/fr/man8/ifconfig.8.gz
    /sbin/ifconfig

[[email protected] ~]# find / -type f |grep ifconfig 找出系统中文件名包含ifconfig
/usr/sbin/pifconfig
/usr/share/man/man8/pifconfig.8.gz
/usr/share/man/man8/ifconfig.8.gz
/usr/share/man/fr/man8/ifconfig.8.gz
/sbin/ifconfig
1.2.3 #{} 生成序列
[[email protected] ~]# echo stu0{01..5} 生成stu001 .. stu005
Stu001 stu002 stu003 stu004 stu005
[[email protected] ~]# echo {1,5,100} 生成1 5 100
1 5 100
[[email protected] ~]# echo stu{01..10} 生成stu01..stu10
stu01 stu02 stu03 stu04 stu05 stu06 stu07 stu08 stu09 stu10
[[email protected] ~]# echo stu{01..10..2} 生成有规律的数
stu01 stu03 stu05 stu07 stu09
1.2.4 通过 {} 进行备份
[[email protected] ~]# cp oldboy.txt{,.bak}
[[email protected] ~]# echo oldboy.txt{,.bak}
oldboy.txt oldboy.txt.bak
[[email protected] ~]# echo A{,C}
A AC
[[email protected] ~]# echo A{B,C}
AB AC
1.2.5 小结:
1.特殊符号
2. {} 通配符 查找文件 大多数命令都可以使用
ls
.txt
第2章 正则表达式配合三剑客进行过滤
中文符号 ‘’ “” () 。 …… ¥ | {} 【】
英文符号 ‘‘ "" () .
^ $ | {} []
2.1.1 给grep egrep配置别名并永久生效
完成后重新登录进行验证
alias grep=‘grep --color‘
alias egrep=‘egrep --color‘

2.1.2 第1个符号 ^ 以....开头的行
cat oldboy.txt 环境
I am oldboy teacher!
I teach linux.

I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com
our size is http://blog.oldboyedu.com
my qq is 49000448

not 4900000448.
my god ,i am not oldbey,but OLDBOY!
2.1.2.1 以....开头的行 ^m
[[email protected] /oldboy]# grep ‘^m‘ oldboy.txt 找出文件中以m开头的内容
my blog is http://oldboy.blog.51cto.com
my qq is 49000448
my god ,i am not oldbey,but OLDBOY!
cat -A 显示文件中所有符号 每行结尾都会有个$
2.1.3 第2个符号 $ 以....结尾的行

[[email protected] /oldboy]# grep ‘ $‘ oldboy.txt 以空格结尾的行
my blog is http://oldboy.blog.51cto.com
our size is http://blog.oldboyedu.com
2.1.4 第三个符号 ^$ 显示空行
[[email protected] oldboy]# grep -n ‘^$‘ oldboy.txt 过滤出文件中的空行并显示行号
3:
8:
11:
2.1.5 第4个符号 . 任意一个字符
[[email protected] /oldboy]# #grep ‘.‘ oldboy.txt 显示所有字符
-o grep命令执行过程
[[email protected] /oldboy]# grep -o ‘.‘ oldboy.txt 显示所有字符的过程

2.1.6 第5个符号\ 显示文件中以.(点)结尾的行
[[email protected] /oldboy]# grep ‘.$‘ oldboy.txt 显示文件中以.(点)结尾的行
I teach linux.
not 4900000448.
\n 表示回车 \t 按一次tab键的长度
[[email protected] /oldboy]# tr ‘\n‘ ‘\t‘ <oldboy.txt 将文件中的回车键替换为tab键
I am oldboy teacher! I teach linux. I like badminton ball ,billiard ball and chinese chess! my blog is http://oldboy.blog.51cto.com our size is http://blog.oldboyedu.com my qq is 49000448 not 4900000448. my god ,i am not oldbey,but OLDBOY! [[email protected] /oldboy]#
2.1.7 第6个符号 前一个字符连续出现了0次或0次以上
#显示grep ‘0
‘ oldboy.txt 每次匹配了什么 (执行过程)
[[email protected] oldboy]# grep -o ‘0*‘ oldboy.txt
000
00000

#正则表达式-坑1-grep ‘0‘ 会把文件内容都显示出来
#0
0次 没有 grep ‘‘ 会把文件内容都显示出来

0次以上 0 00000000000

2.1.8 第7个符号. 显示所有
[[email protected] /oldboy]# grep ‘.
‘ oldboy.txt
I am oldboy teacher!
I teach linux.

I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com
our size is http://blog.oldboyedu.com
my qq is 49000448

not 4900000448.
my god ,i am not oldbey,but OLDBOY!
正则表达式的贪婪性
替你寻找的文字符号 有多少吃多少 有多少匹配多少
正则中表示 连续出现或所有的时候
[[email protected] /oldboy]# grep ‘^.*o‘ oldboy.txt
I am oldboy teacher!
I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com
our size is http://blog.oldboyedu.com
not 4900000448.
my god ,i am not oldbey,but OLDBOY!
2.1.9 第8个符号 [ ]
grep ‘[a-z]‘ oldboy.txt 过滤出a-z
grep ‘[A-Z]‘ oldboy.txt
grep ‘[0-9]‘ oldboy.txt
grep ‘[a-zA-Z]‘ oldboy.txt
grep ‘[a-Z]‘ oldboy.txt 过滤出大小写的a-z 只有在grep中可以使用
grep -i ‘[a-z]‘ oldboy.txt -i 不区分大小写 ignore case

原文地址:http://blog.51cto.com/13860447/2153234

时间: 2024-11-12 10:59:17

通配符 特殊符号与正则表达式的相关文章

Day15 - linux的特殊符号与正则表达式

第1章 linux的特殊符号 1.1 通配符 * {} 1.1.1 含义 方便查找文件 通配符是用来找文件名字的. 1.1.2  * 通过find 命令找以 .sh 结尾的文件,使用*替代文件名字. find /oldboy -type f -name "*.sh" -mtime +7 -size +100k -size -10M 查找文件名中,包含有oldboy字节的文件. [[email protected] 20170118]# find -type f -name "

Linux之特殊符号与正则表达式

Linux中常用的特殊符号 '' 所见即所得,吃啥吐啥 "" 特殊符号会被解析运行 `` ==== $() 先运行里面的命令 把结果留下 > 重定向符号 先清空文件的内容 然后追加文件的最后 >> 追加重定向 追加文件的最后 2> 错误重定向 只有错误的信息 才会通过这个漏洞进入文件中 2>> 错误追加重定向 ~ 当前用户的家目录 root ~ /root oldboy ~ /home/oldboy ! 查找并运行历史命令 !awk 包含awk的命令

mysql语法、特殊符号及正则表达式的使用

http://blog.csdn.net/pipisorry/article/details/46764495 Mysql常用显示命令 1.显示当前数据库服务器中的数据库列表: mysql> SHOW DATABASES; 注意:mysql库里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作. 2.进入数据库: mysql> USE 库名: 2.显示数据库中的数据表: mysql> SHOW TABLES; 3.显示数据表的结构: mysql> DESCR

特殊符号(通配符)知识点总结

##特殊符号与正则表达式的区别     #()在awk/sed/grep中使用的特殊符号-->正则表达式     #()在命令行或脚本中使用的特殊符号-->以下特殊意义 ##特殊符号(通配符)列表 < 0< 输入重定向 mail -s 1091*****@qq.com </etc/hosts.txt ##将host.txt中的内容写入的邮件内容 > 输出重定向 >> 追加输出重定向 不覆盖之前的内容,在文档最后继续写入追加的内容 |  管道 将前一个命令得到

通配符和正则表达式-grep,egrep,fgrep

通配符和正则表达式-grep,egrep,fgrep 通配符和正则表达式,通配符用于文件名匹配,命令支持ls,cp,rm等;正则为通用匹配,命令支持grep,awk,sed,vi,find等.文本过滤工具grep,egrep,fgrep 通配符 *  匹配零个或多个任意字符 ?  匹配单个任意字符 [] 匹配指定范围内的一个字符,[]括号中的 字符间隔符 可以省略,如,\=:等等.举例[1:2=3,5\7] = [12357],也推荐使用这种省略写法作为标准 ^  取反,表示非.注意:非数字即包

【Shell】通配符与特殊符号

——来自<鸟哥的Linux私房菜> 在 bash 的操作环境中还有一个非常有用的功能,那就是通配符 (wildcard) ! 我们利用 bash 处理数据就更方便了!底下列出一些常用的通配符: 符号 意义 * 代表『 0 个到无穷多个』任意字符 ? 代表『一定有一个』任意字符 [ ] 同样代表『一定有一个在括号内』的字符(非任意字符).例如 [abcd] 代表『一定有一个字符, 可能是 a, b, c, d 这四个任何一个』 [ - ] 若有减号在中括号内时,代表『在编码顺序内的所有字符』.例

模式匹配-正则表达式

主要内容:匹配内容,匹配模式,实现 Java1.4起,Java核心API就引入了java.util.regex程序包,它包括两个类:Pattern和Matcher. Pattern是对正则表达式进行编译,得到正则表达式的表现模式. Matcher利用Pattern得到的表现模式进行模式匹配. Pattern类的方法简述 方法 说明 static Pettern compile(String regex,int flag) 编译模式,参数regex表示输入的正则表达式,flag表示模式类型(Pat

shell脚本中一些特殊符号

在shell中常用的特殊符号罗列如下: # ;   ;; . , / \\ 'string'| !   $   ${}   $? $$   $* \"string\"* **   ? : ^ $#   [email protected] `command`{}   [] [[]] ()   (()) ||   && {xx,yy,zz,...}~   ~+   ~-   &   \\<...\\>   + - %=   ==   != # 井号 (c

正则表达式(初步了解)

什么是正则表达式? 简单的说,正则表达式就是一套大量的字符串而定义的规则和方法. 通过正则表达式这些特殊符号,我们可以快速的过滤,替换需要的内容 . 为什么要学习正则表达式? 在工作中,我们做LINUX运维工作,时刻面对着大量的日志,程序,命令的输出. 迫切的需要过滤我们需要的一部分内容,甚至是一个字符串. 两个注意事项: 1.正则表达式的应用非常广泛,存在于各种语言中,PERL,PHP,JAVA等 我们今天给大家讲解的就是LINUX的正则表达式,系统运维中常用的正则表达式, 常用的正则表达式的