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开头

[[email protected] 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结尾

[[email protected] oldboy]# grep "m$" oldboy.log

my blog is http://oldboy.blog.51cto.com

过滤出空行

[[email protected] oldboy]# grep -n "^$" oldboy.log

3:

8:

[[email protected] oldboy]#

过滤掉除空行外的所有

[[email protected] 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!

只过滤除指定字符

[[email protected] oldboy]# grep -o "qq" oldboy.log

qq

示例:

示例:

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

原文地址:https://www.cnblogs.com/tcheng/p/8595301.html

时间: 2024-10-17 14:12:09

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

Linux运维学习笔记之一:运维的原则和学习方法

一直在用Linux,但从未系统学习过,从1月1日开始学习到7月16日结束,近七个月学习,让自已对Linux有了新的认识,老男孩老师的课真的不错,实战性很强.由于只能中午和晚上10点以后才有时间,所以所有的实验是在不同电脑上完成的,文中IP可能有点问题,但应该不会影响实验.同时,为了保证笔记的完整,在做笔记的时候,从网上也下载了些图片和内容. 第一章 运维的原则: 一.简单.易用.高效 二.修改前做备份 1.以便回滚 2.以便事后比对改过的内 三.最小化原则 1.安装系统最小化 2.开启服务最小化

&#8203;通过chkconfig设置linux开机自启动服务- 老男孩Linux运维学习笔记1

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处.作者信息和本声明.否则将追究法律责任. 更多内容请查看老男孩老师的书籍:<跟老男孩学习Linux运维:Web集群实战>或者运维课程. 首先查看当前开启的服务有哪些: 老男孩老师的经验告诉我们默认只需要开通下面5个必要服务即可: sshd |sysstat|crond|network|rsyslog 首先查看当前自启动的服务有哪些.由于工作环境基本上使用文本模式3级别,只需要查找3级别上开启的服务即可. 命令如下: [[email 

Linux下创建文件和文件夹的方法-老男孩Linux运维学习笔记2

我们可以在Linux里面通过多个命令来创建文件: touch命令创建文件: -创建单个文件: [[email protected] oldboy]# touch oldboy [[email protected] oldboy]# ll 总用量 0 4325378 -rw-r--r-- 1 root root 0 2017-05-27 13:30 oldboy -创建多个文件: [[email protected] oldboy]# touch oldboy1 oldboy2 oldboy3 

Linux运维学习笔记之二:常用命令3

101.paste :将多个文件按列队列合并 说明 paste命令用于将多个文件按照列队列进行合并 语法 paste (选项) 指定需要合并的文件列表 选项 -d<间隔字符>或--delimiters=<间隔字符>:用指定的间隔字符取代跳格字符: -s或--serial串列进行而非平行处理. 实例 paste inotify_client_100.log inotify_server_100.10g paste inotify_client_100.log inotify_serv

Linux运维学习笔记之二:常用命令1

第三章 常用命令 1.mkdir : 创建目录,make directorys,-p 递归创建目录 mkdir-p /a/b/c 2.ls  : -l(long)d(directory)显示目录或文件,全称list -l#列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等 -d#只查看目录 -F#会在不同类型的文件后面加上*/=>@|等符号,以便区分不同类型文件 -p#会在目录后面加上/,以便区分目录和文件 -h#人类可读模式,显示K.M.G -i#显示inode,也就是文件的ind

Linux运维学习笔记

今天在自学shell编程的过程中碰到一个题,是计算/etc/passwd文件中第10个用户和第20个用户的id号之和.在没有使用head和tail的情况下,学习了另一个命令. sed命令: ##### #!/bin/bash #vesion 2.0 echo "Add userid.id11 and id22." #Made by abc echo "Creation-time 20160720" echo "Time Now: $(date +%Y-%m

Linux运维学习笔记之二:常用命令2

71.passwd:修改用户密码 语法 passwd [参数]username 选项 -k  --keep-tokens :保留即将过期的用户在期满后仍能使用 -l  --lock :锁定用户无权更改其密码,只能root才能操作 -u --unlock :解除锁定 -S --status :查看用户状态 -d --delete :删除用户密码,只能root才能操作 -f --force :强制操作,只能root才能操作 -n mindays :修改密码的最小天数,也就是mindays天内不能再次

Linux运维学习笔记-软硬链接知识总结

文件链接   硬链接,通过索引节点来进行链接 硬链接原理图 硬链接的创建: 直接执行命令"ln 源文件 硬链接文件",即可完成创建硬链接. 硬链接知识小结: 1.具有相同Inode节点号的多个文件是互为硬链接文件. 2.删除硬链接文件或者删除源文件任意之一,文件实体并未被删除. 3.只有删除了源文件及所有对应的硬链接文件,文件实体才会被删除. 4.当所有硬链接文件及源文件被删除后,再存放新的数据会占用这个文件的空间,或者磁盘fsck检查的时候,删除的数据也会被系统回收. 5.硬链接文件

Linux运维学习笔记-目录知识点总结

目录知识点总结: Note: 1.创建一个/server/scripts目录,用于存放脚本(命令:mkdir -p /server/scripts) 2.安装软件时,安装路径统一为/usr/local/软件名-版本号 3.安装完软件后,需做软链接(ln -s /usr/local/软件名-版本号/ /usr/local/软件名) 重要子目录 文件作用 /etc/sysconfig/network-scripts/ifcfg-eth0 网卡配置 /etc/resolv.conf 本地DNS配置 /