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运维学习笔记-网络安全等级保护
网络安全等级保护简介与作用: 验证信息系统是否满足相应安全保护等级的一个过程. 对不同信息系统分等级进行保护.
随机推荐
- [转]AJAX 跨源 HTTP 请求
转自OSChina, 原文: http://www.oschina.net/translate/ajax-cross-origin-http-request 背景 跨源HTTP请求(也称跨域AJAX请 ...
- Linux系统——Ansible批量管理工具
批量管理工具: (1)ansible 操作简单(适用于500台以下服务器) (2)saltstack 比较复杂(一般适用于1000-4w台服务器) (3)puppet超级复杂 systemctl(统一 ...
- 牛客国庆集训派对Day6 Solution
A Birthday 思路:设置一个源点,一个汇点,每次对$源点对a_i, b_i , a_i 对 b_i 连一条流为1,费用为0的边$ 每个点都再连一条 1, 3, 5, 7, ....的边到 ...
- CCPC-Wannafly Winter Camp Day1 (Div2, onsite)
Replay Dup4: 要是不挂机,再多仔细想想就好了 J确实自闭好久,一直在想正确性,最后数据错了,喵喵喵? 还是要保证充足的休息啊,中间睡了一小会儿,也不知道睡了多久,醒来他们就又过了一道 要发 ...
- 对Man-In-The-Middle攻击的一点理解
1) 中间人攻击最容易理解的可能就是fiddler吧,他可以截获request重新组织request的数据,有个专业的攻击工具叫burp. 2) 数据存在immutable,mutable ...
- struts2中的错误--java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils
2013-4-7 10:13:56 org.apache.catalina.startup.HostConfig checkResources 信息: Reloading context [/chap ...
- QT之QML控件篇
QT quick中提供了很多的实用控件widget,下面介绍几种常用的. 这部分介绍基本是参照QtCretator提供的帮助文档,一定要学会使用,不明白的去查找帮助. Item 基本上所有的可是控件的 ...
- [one day one question] webpack 打包报错 Cannot assign to read only property 'exports' of object '#<Object>'
问题描述: webpack 打包报错 Cannot assign to read only property 'exports' of object '#<Object>',这怎么破? 解 ...
- SQL学习笔记三(补充-1)之MySQL存储引擎
阅读目录 一 什么是存储引擎 二 mysql支持的存储引擎 三 使用存储引擎 一 什么是存储引擎 mysql中建立的库===>文件夹 库中建立的表===>文件 现实生活中我们用来存储数据的 ...
- 20135320赵瀚青LINUX第八周学习笔记
赵瀚青原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 概述 本周学习的是linux ...