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的行:

[[email protected] ~]# egrep root /etc/passwd

2.输出任何包含bash的所有行,还要输出紧接着这行的上下各两行的内容:

[[email protected] ~]# egrep -C 2 bash /etc/passwd

3.  显示出有多少行含有nologin。

[[email protected] ~]# egrep -c nologin /etc/passwd

4.显示出那些行含有root,并将行号一块输出。

[[email protected] ~]# egrep -n root /etc/passwd

6.新建用户

abominable

abominate

anomie

atomize

编写正则表达式,将他们匹配出来

[[email protected] sbin]# useradd abominable

[[email protected] sbin]# useradd abominate

[[email protected] sbin]# useradd anomie

[[email protected] sbin]# useradd atomize

[[email protected] 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内所有注释和所有空行

[[email protected] sbin]# useradd Alex213sb

[[email protected] sbin]# useradd Wpq2222b

[[email protected] sbin]# useradd yH438PIG

[[email protected] sbin]# useradd egon666

[[email protected] sbin]# useradd egon

8.显示出/etc目录下所有包含root的文件名

[[email protected] sbin]# egrep -rl ‘root‘ /etc/

9. 过滤掉/etc/ssh/sshd_config内所有注释和所有空行

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

解压

[[email protected] Downloads]# cd /root/Downloads/

[[email protected] Downloads]# tar -xzvf Python-3.6.1.tgz

安装

[[email protected] Downloads]# cd Python-3.6.1/

[[email protected] Python-3.6.1]# mkdir /usr/local/python3.6

[[email protected] Python-3.6.1]# ./configure --prefix=/usr/local/python3.6

[[email protected] Python-3.6.1]# make && make install

Installing collected packages: setuptools, pip

Successfully installed pip-9.0.1 setuptools-28.8.0

[[email protected] Python-3.6.1]# cd /usr/local/python3.6/

[[email protected] python3.6]# cd bin

加入环境变量

[[email protected] bin]# vim /etc/bashrc

windows下安装python,并设置PATH

时间: 2024-10-19 20:50:51

day11 grep正则匹配的相关文章

shell grep正则匹配汉字

Shell grep正则匹配中文 测试文本 demo_exe.c,内容如下,需要注意保存的编码格式,对输出到终端有影响: 我们中文操作系统ASNI默认是GBK的. 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include <string.h> 4 #include <errno.h> 5 #include <locale.h> 6 #include <dlfcn.h> 7 8 /* 9 *

grep正则匹配记录

200 packets transmitted, 200 received, +199 duplicates, 0% packet loss, time 199258ms 比如我有个ping数据,我想取这一行我可以ping完后,结果存到一个文件,然后grep这个文件获取如上信息 grep '200 packets transmitted' 文件 然后我想获取到其中的丢包率,即0%可用-o的参数进行如下: echo "200 packets transmitted, 200 received, +

grep正则方法示范

grep 正则过滤 正则是一组有规律的字符串grep过滤字符并加以颜色显示 [[email protected] src]# grep 'nologin' passwd 过滤出nologin字符 过滤出nologin字符并显示行号 [[email protected] src]# grep -n 'nologin' passwd 2:bin:x:1:1:bin:/bin:/sbin/nologin 3:daemon:x:2:2:daemon:/sbin:/sbin/nologin 4:adm:x

2015年8月27日课程作业(文件权限管理及grep正则和扩展正则表达式)-JY1506402-19+liuhui880818

学习内容:文件权限管理及grep正则和扩展正则表达式 系统环境:CentOS 6.7/7 x86_64 一.作业(练习)内容: 1.总结本此课程中所涉及命令的使用方法及相关示例展示: 2.总结基本正则表达式及扩展正则表达式 3.显示/etc/passwd文件中以bash结尾的行 4.显示/etc/passwd文件中的两位数或三位数 5.显示`netstat -tan`命令结果中以'LISTEN'后跟0个.1个或者多个空白字符结尾的行 6.添加用户bash.testbash.basher以及nol

使用正则匹配并显示匹配的内容

最近在解析HTML文件,遇到这样的一个场景.我需要将HTML文件中data-url="xxx"中的xxx查找并显示出来. 首先考虑使用find,但是find只能显示包含查找内容的文件名,不符合场景的需要. 接着考虑使用grep,配合-o参数,确实可以显示匹配到的内容,但是grep正则的时候,总是贪婪匹配,不能够最少匹配.如果非贪婪匹配,则需要使用GNU grep,命令如下:grep -o -P.但是Mac中的grep默认是BSD grep,所以这条路也走不通了. 最后,只有求助于per

linux 正则匹配小记

1.使用正则匹配文件名 ## grep -n '[^\/][a-zA-Z0-9]*[.a-zA-Z0-9][a-zA-Z0-9]*$' regular_express.txt /etc/init.d/hello.h /etc/init.d/hehe 2.使用sed提取出网卡IP (1) # ifconfig eth0 |grep 'inet addr' inet addr:192.168.211.129  Bcast:192.168.211.255  Mask:255.255.255.0 (2)

linux grep正则学习(转载)

虽然正则表达式经常都在用,但是很少能够静下心来仔细的总结一下.最近看了一个台湾人的网站叫做鸟哥Linux私房菜,关于正则表达式的描述挺详细的.在此,我进行一下总结,如果想仔细的学习正则表达式,请访问鸟哥Linux私房菜,台湾同胞的网站是繁体中文的,需要点儿耐心. 正则表达式只是字符串的一种描述,只有和支持正则表达式的工具相结合才能进行字符串处理.本文以grep为例来讲解正则表达式. grep命令 功能:输入文件的每一行中查找字符串. 基本用法: grep [-acinv] [--color=au

iOS 中的正则匹配(工具类)

正则表达式 正则表达式是对字符串操作的一种逻辑公式, 用事先定义好的一些特定字符.及这些特定字符的组合, 组成一个"规则字符串", 这个"规则字符串"用来表达对字符串的一种过滤逻辑, 正则表达式就是用于描述这些规则的工具, 或者说, 正则表达式就是记录文本规则的代码. 在开发中, 我们经常会有查找符合某些复杂规则的字符串的需要, 比如数据校验: 判断用户的输入是否合法(如:用户注册的时候,QQ号码,电话号码,邮箱是否符合要求) 下面让我们先来看看正则匹配常用的一些字

php正则匹配用户名必须包含字母和数字且大于6位

php正则匹配用户名必须包含字母和数字且大于6位 UEditor 1.4.3版本中去掉本地自动保存功能 右键菜单没有新建文本文档txt 常见HTTP错误代码大全 http常见状态码 eclipse内存溢出错误 为什么井盖是圆的?--揭开面试题的神秘面目! Linux Centos 6.6搭建SFTP服务器 密码强度检测 JS判断检测用户输入密码强度代码 对程序员来说,提高薪水最好的建议是什么? CSS3仿淘宝右侧固定导航悬浮层 jQuery仿淘宝网登录拖动滑块验证码代码 jQuery单击div更