Linux运维学习笔记-通配符及正则表达式知识总结

通配符:
|
* |
代表所有 |
|
|
? |
任意一个字符 |
|
|
; |
两个命令的分隔符 |
|
|
# |
注释 |
|
|
| |
管道,将|前命令的执行结果作为|后命令的输入 |
|
|
~ |
用户的家目录 |
|
|
- |
上一次的目录 |
|
|
$ |
变量前面需要加的符号 |
echo $LANG |
|
/ |
路径分隔符 |
|
|
> |
重定向(覆盖) |
|
|
>> |
追加重定向 |
|
|
< |
输入重定向 |
xargs、tr |
|
<< |
追加输入重定向 |
cat |
|
'' |
单引号,不具有变量置换功能,输出时所见即所得 |
echo 'date' |
|
"" |
具有变量置换功能,解析变量后输出,不加引号相当裕双引号 |
echo "`date`" |
|
`` |
反引号,两个`` 中间为命令,会先执行,等价$() |
echo "$(date)" |
|
{} |
中间为命令区块组合或内容序列 |
|
|
! |
逻辑运算中的"非"(not) |
|
|
&& |
and 并且,当前一个指令执行成功时,执行后一个指令 |
|
|
|| |
or 或者,当前一个指令执行失败时,执行后一个指令 |
|
|
.. |
上一级目录 |
|
|
. |
当前目录 |
正则表达式:为处理大量字符串而定义的一套规则和方法。
常用于(grep\awk\sed)
注意事项:
1、linux正则表达式一般以行为单位进行处理的。
2、alias grep='grep –color=auto'让匹配的内容显示颜色。
3、注意字符集,export LC_ALL=C
例子:
cat >>oldboy.log<<GONGLI
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 site is http://www.etiantian.org
my qq num is 49000448
not 4900000448.
mygod,i am not oldboy,but OLDBOY!
GONGLI

示例:
grep -n显示行号,-v排除,-o只显示匹配到的内容,默认匹配行
过滤出以m开头
[root@ctc oldboy]# grep "^m" oldboy.log
my blog is http://oldboy.blog.51cto.com
my qq num is 49000448
mygod,i am not oldboy,but OLDBOY!
过滤出以m结尾
[root@ctc oldboy]# grep "m$" oldboy.log
my blog is http://oldboy.blog.51cto.com
过滤出空行
[root@ctc oldboy]# grep -n "^$" oldboy.log
3:
8:
[root@ctc oldboy]#
过滤掉除空行外的所有
[root@ctc oldboy]# grep -nv "^$" oldboy.log
1:I am oldboy teacher!
2:I teach Linux.
4:I like badminton ball,billiard ball and chinese chess!
5:my blog is http://oldboy.blog.51cto.com
6:our site is http://www.etiantian.org
7:my qq num is 49000448
9:not 4900000448.
10:mygod,i am not oldboy,but OLDBOY!
只过滤除指定字符
[root@ctc oldboy]# grep -o "qq" oldboy.log


示例:





示例:


grep:


元字符:
\b 单词边界
\n 换行
Sed:
stream editor Linux三剑客老二,流编辑器,实现对文件的增删改替换查。
参数:-n 取消默认输出,-i 修改文件内容,-e 允许多项编辑
功能:
p打印。
s与g联合使用时,表示对当前行全局匹配替换。
s常说的查找并替换,用一个字符串替换成另一个。
例子:sed -i s#oldboy#oldgirl#g a.txt
#是分隔符,可以用/@等替换
Awk:
awk 过滤、输出内容,一门语言。NR 行号。
$1 第一列,$2 第二列依次类推,但$0表示一行,NF表示最后结尾一列。
NR表行数
-F 指定分隔符。
命令的语法始终是:awk '{pattern + action}' 或者 awk 'pattern {action}'。
例子:awk -F % 'NR>=7,NR<=15 {print $1
$3 $7}' myfile
Linux运维学习笔记-通配符及正则表达式知识总结的更多相关文章
- 兄弟连Linux运维学习笔记
最新经典linux运维兄弟连Linux运维学习笔记... --------------- 全程1.5倍播放.加油我一定可以学完Linux----------------------Unix与Linux ...
- Linux运维学习笔记-文件系统知识体系总结
文件系统知识总结 新买的硬盘要存放数据需要怎么做? 首先将硬盘装机做RAID,做完RAID后进行分区,分完区后格式化创建文件系统,最后存放数据. 硬盘的内外部结构: 物理形状: 接口类型: IDE(I ...
- Linux运维学习笔记-文件权限知识总结
权限总结: 1. 可读r:表示具有读取\阅读文件内容的权限: 2. 可写w:表示具有新增.修改文件内容的权限: a. 若果没有r配合,那么vi编辑文件会提示无法编辑(但可以强制编辑),echo可以重定 ...
- Linux运维学习笔记-软硬链接知识总结
文件链接 硬链接,通过索引节点来进行链接 硬链接原理图 硬链接的创建: 直接执行命令“ln 源文件 硬链接文件”,即可完成创建硬链接. 硬链接知识小结: 1.具有相同Inode节点号的多个文件是互 ...
- Linux运维学习笔记-目录知识点总结
目录知识点总结: Note: 1.创建一个/server/scripts目录,用于存放脚本(命令:mkdir -p /server/scripts) 2.安装软件时,安装路径统一为/usr/local ...
- Linux运维学习笔记-iptables知识总结
- Linux运维学习笔记-TCP三次握手和四次挥手
TCP三次握手: TCP四次挥手:
- Linux运维学习笔记-网络技术知识体系总结
传统网络知识体系 未来网络SND模型架构
- Linux运维学习笔记-网络安全等级保护
网络安全等级保护简介与作用: 验证信息系统是否满足相应安全保护等级的一个过程. 对不同信息系统分等级进行保护.
随机推荐
- chrome 关闭安全模式
chrome.exe --disable-web-security --user-data-dir
- 31Sql数据库的连接
Qt 提供了 QtSql 模块来提供平台独立的基于 SQL 的数据库操作.这里我们所说的“平台独立”,既包括操作系统平台,有包括各个数据库平台.另外,我们强调了“基于 SQL”,因为 NoSQL 数据 ...
- Java 异步处理 三种实现
new Thread((new Runnable() { @Override public void run() { // 批量同步数据 try { logger.info("^^^^^^^ ...
- EL表达式判断条件要写在${}内
由于老没开发框架了,今天提取公共省市县三级联动组件时,使用jsp传参搞了半天才弄出来. 组件代码 $(function(){console.log("${param.init}") ...
- 模块的封装之C语言类的继承和派生
[交流][微知识]模块的封装(二):C语言的继承和派生 在模块的封装(一):C语言的封装中,我们介绍了如何使用C语言的结构体来实现一个类的封装,并通过掩码结构体的方式实 现了类成员的保护.这一部分,我 ...
- 【bzoj4972】小Q的方格纸 前缀和
题目让O(1)预处理出来 类三角形边界及内部的和 根据这个图 就是一个大矩形-左边的绿色的矩形 - 蓝色的大三角形 + 右上角突出的蓝色的小三角形 #include<bits/stdc++.h& ...
- 论OI中最大值的选取
为什么我的Floyd会输出负数啊? 为什么我的代码写对了却全都爆零了啊? 那么很可能是你的INF取大/小了! 那么inf到底应该取什么值呢? 首先,inf应该要比一般的题目中出现的数据要大,但是又不能 ...
- Maximum Depth of Binary Tree,求树的最大深度
算法分析:求树的最小最大深度时候,都有两种方法,第一种是递归思想.树最大最小深度,即为它的子树的最大最小深度+1,是动态规划的思想.还有一种方法是层序遍历树,只不过求最小深度时,找到第一个叶子节点就可 ...
- Tp5,Service使用
C层,操控数据库,并处理页面数据展示. M层,纯粹的操作自己所对应的数据库. Service层,可以通用的处理一些逻辑计算,也可以将复杂的数据表处理整合到一起,也可以将复杂的业务逻辑整合到一起. 创建 ...
- 使用quartz实现定时器功能
首先导入两个包 <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>qua ...