day11 grep正则匹配
Posted 何必从头
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day11 grep正则匹配相关的知识,希望对你有一定的参考价值。
ps aus | trep nginx # 查看所有正在运行的nginx任务 别名路径: alias test_cmd=\'ls -l\' PATH路径: 临时修改: PATH=$PATH:/usr/local/nginx/sbin export PATH 将ngxin路径放入PATH中 每次切换用户,都会读取该用户家目录中的/home/[user]/.bashrc文件,所以,如果把命令写到这个文件中,那么这个用户就可以执行它 永久修改: /etc/bashrc # 在这里面修改,可以作为全局变量,只要开启shell就会执行这个文件 /etc/profile # 在这里面修改,可以作为全局变量,只要登录就会加载这个文件 export [变量] 使[变量]可以作用于该程序的所有子程序 通配符: ; 接受过个命令,不管命令结果,依次接受 $? 取上一次命令成功的结果,如果是0表示执行成功,非0,表示执行事变 : 执行结果永远为真 ? 表示任意一个字符 正则表达式: grep 命令 + 正则表达式: -n 显示行号 -q 主要用来判断这条任务有没有成功,可用来验证文件中是否包含内容 -l 显示路径 -rl 递归着去文件中查找子文件,并显示文件名 -A 2 匹配行的后两行 -B 2 匹配行的前两行 -C 1 匹配行的前后一行 -i 忽略大小写 -o 只显示匹配的内容 -v 取反 -w 过滤单词,可以找到用空格或其它符号分开的单词 正则表达式: grep普通的查找,如果不行,就换egrep扩展正则 ^ 行首,如: \'^hello\' $ 行尾,如: \'hello$\' . 除了换行符以外的一个字符 * 左面字符出现零次到无穷次 grep -E \'(ab)*\' test.txt 查找多个或另个 ab 连续的,没有也算 grep -E \'ab(ab)*\' test.txt 至少出现一个 ? 左面字符出现零次或一次 + 左面字符出现一次到无穷次 {} 左面字符出现花括号中的次数 {3,} 左面字符出现花括号中3到*次的次数 .* 随意字符 [0-9] 任意数字, [a-z] 左右小写字母, [A-Z] 所有大写字母, [a-Z] 所有字母, [^0-9] 除了0-9 | 或者 x\\{m\\} x出现m次 x\\{m,\\} x出现m次至多次(至少m次) x\\{m,n\\} x出现m次至n次 \'compan(y|ies)\' -v 非 shell script unset x 取消变量x PS1 这个变量可以修改浅慢的 root那啥的,就是那个输入命令的,前面的那个 [ ] 可以比较大多数东西 (( )) 数字之间的比较
================================================================
作业二:grep作业(正则表达式及字符处理)
目标文件/etc/passwd,使用grep命令或egrep
1.显示出所有含有root的行:
[root@bogon ~]# egrep root /etc/passwd
2.输出任何包含bash的所有行,还要输出紧接着这行的上下各两行的内容:
[root@bogon ~]# egrep -C 2 bash /etc/passwd
3. 显示出有多少行含有nologin。
[root@bogon ~]# egrep -c nologin /etc/passwd
4.显示出那些行含有root,并将行号一块输出。
[root@bogon ~]# egrep -n root /etc/passwd
6.新建用户
abominable
abominate
anomie
atomize
编写正则表达式,将他们匹配出来
[root@bogon sbin]# useradd abominable
[root@bogon sbin]# useradd abominate
[root@bogon sbin]# useradd anomie
[root@bogon sbin]# useradd atomize
[root@bogon sbin]# egrep \'^a(b|n|t)omi(nable|nate|e|ze)\' /etc/passwd
7.建四个用户
Alex213sb
Wpq2222b
yH438PIG
egon666
egon
过滤出用户名组成是字母+数字+字母的行
8.显示出/etc目录下所有包含root的文件名
9. 过滤掉/etc/ssh/sshd_config内所有注释和所有空行
[root@bogon sbin]# useradd Alex213sb
[root@bogon sbin]# useradd Wpq2222b
[root@bogon sbin]# useradd yH438PIG
[root@bogon sbin]# useradd egon666
[root@bogon sbin]# useradd egon
8.显示出/etc目录下所有包含root的文件名
[root@bogon sbin]# egrep -rl \'root\' /etc/
9. 过滤掉/etc/ssh/sshd_config内所有注释和所有空行
[root@bogon sbin]# grep -v \'#\' /etc/ssh/sshd_config | grep -v \'^$\'
作业三:
linux下源码安装python,并设置PATH
下载
wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz -P /root/Downloads/
解压
[root@bogon Downloads]# cd /root/Downloads/
[root@bogon Downloads]# tar -xzvf Python-3.6.1.tgz
安装
[root@bogon Downloads]# cd Python-3.6.1/
[root@bogon Python-3.6.1]# mkdir /usr/local/python3.6
[root@bogon Python-3.6.1]# ./configure --prefix=/usr/local/python3.6
[root@bogon Python-3.6.1]# make && make install
Installing collected packages: setuptools, pip
Successfully installed pip-9.0.1 setuptools-28.8.0
[root@bogon Python-3.6.1]# cd /usr/local/python3.6/
[root@bogon python3.6]# cd bin
加入环境变量
[root@bogon bin]# vim /etc/bashrc
windows下安装python,并设置PATH
以上是关于day11 grep正则匹配的主要内容,如果未能解决你的问题,请参考以下文章