1.整理正则表达式博客

re  http://www.cnblogs.com/oyoui/p/6599846.html

2.grep(正则表达式及字符处理)

1.显示出所有含有root的行:
[root@web2 mnt]# grep 'root' passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin 2.输出任何包含bash的所有行,还要输出紧接着这行的上下各两行的内容:
[root@web2 mnt]# grep -A 2 -B 2 'root' passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
--
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[root@web2 mnt]# grep -A 2 -B 2 'bash' passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
--
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x:997:995::/var/lib/chrony:/sbin/nologin
jack:x:1000:1000:jack:/home/jack:/bin/bash 3. 显示出有多少行含有nologin。
[root@web2 mnt]# 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:3:4:adm:/var/adm:/sbin/nologin
5:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
9:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10:operator:x:11:0:operator:/root:/sbin/nologin
11:games:x:12:100:games:/usr/games:/sbin/nologin
12:ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13:nobody:x:99:99:Nobody:/:/sbin/nologin
14:systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin
15:systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
16:dbus:x:81:81:System message bus:/:/sbin/nologin
17:polkitd:x:998:996:User for polkitd:/:/sbin/nologin
18:tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
19:postfix:x:89:89::/var/spool/postfix:/sbin/nologin
20:sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
21:chrony:x:997:995::/var/lib/chrony:/sbin/nologin 4.显示出那些行含有root,并将行号一块输出。
[root@web2 mnt]# grep -n 'root' passwd
1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin 5.显示出文件中 6.新建用户
abominable
abominate
anomie
atomize
编写正则表达式,将他们匹配出来
[root@web2 mnt]# egrep 'abominable|abominate|anomie|atomize' passwd
abominable:x:1001:1001::/home/abominable:/bin/bash
abominate:x:1002:1002::/home/abominate:/bin/bash
anomie:x:1003:1003::/home/anomie:/bin/bash
atomize:x:1004:1004::/home/atomize:/bin/bash 7.建四个用户
Alex213sb
Wpq2222b
yH438PIG
egon666
egon
过滤出用户名组成是字母+数字+字母的行
[root@web2 mnt]# egrep '[a-Z]+[0-9]+[a-Z]+' passwd
Alex213sb:x:1005:1005::/home/Alex213sb:/bin/bash
Wpq2222b:x:1006:1006::/home/Wpq2222b:/bin/bash
yH438PIG:x:1007:1007::/home/yH438PIG:/bin/bash 8.显示出/etc目录下所有包含root的文件名 9. 过滤掉/etc/ssh/sshd_config内所有注释和所有空行
[root@web2 mnt]# egrep -v '^#|^$' /etc/ssh/sshd_config
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
SyslogFacility AUTHPRIV
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
UsePAM yes
X11Forwarding yes
UsePrivilegeSeparation sandbox # Default for new installations.
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem sftp /usr/libexec/openssh/sftp-server

3.:sed作业:以/etc/passwd文件为模板

1,删除文件每行的第一个字符。
sed -r 's/^(.)(.*)/\2/' passwd 2,删除文件每行的第二个字符。
sed -r 's/^(.)(.*)/\2/' passwd 3,删除文件每行的最后一个字符。
sed -r 's/^(.)(.)(.*)/\1\3/' passwd 4,删除文件每行的倒数第二个字符。
sed -r 's/(.*)+(.)(.)$/\1\3/' passwd 5,删除文件每行的第二个单词。 6,删除文件每行的倒数第二个单词。
sed -r 's/([^a-Z])([a-Z]+)([^a-Z])([a-Z]+)$/\1\3\4/' passwd 7,删除文件每行的最后一个单词。
sed -r 's/(.*)+([^a-Z])([a-Z]+)$/\3/' passwd 8,交换每行的第一个字符和第二个字符。
sed -r 's/(.)(.)(.*)+/\2\1\3/' passwd 9,交换每行的第一个字符和第二个单词。
sed -r 's/^(.)([a-Z]+)([^a-Z]+)([a-Z]+)(.*)+/\1- \2-\3 -\4/' passwd 10,交换每行的第一个单词和最后一个单词。
sed -r 's/([a-Z]+)(.*)([^a-Z]+)([a-Z]+)$/\4\2\3\1/' passwd 11,删除一个文件中所有的数字。
sed -r '/[0-9]+//g' passwd 12,删除每行开头的所有空格。
sed -r 's/^ *//g' passwd 13,用制表符替换文件中出现的所有空格。
sed -r 's/ /\t/g' /etc/passwd 14,把所有大写字母用括号()括起来。
sed -r 's/[A-Z]/(&)/g' /etc/passwd 15,打印每行3次。
sed 'p;p' /etc/passwd 16,只显示每行的第一个单词。
sed '1~2d' /etc/passwd 17,打印每行的第一个单词和第三个单词。 18,用命令获取格式为 mm/yy/dd 的日期格式,结合管道,将其换成 mm;yy;dd格式

3.22. grep sed re的更多相关文章

  1. 【Linux】 字符串和文本处理工具 grep & sed & awk

    Linux字符串&文本处理工具 因为用linux的时候主要用到的还是字符交互界面,所以对字符串的处理变得十分重要.这篇介绍三个常用的字符串处理工具,包括grep,sed和awk ■ grep ...

  2. 日志分析查看——grep,sed,sort,awk运用

    概述 我们日常应用中都离不开日志.可以说日志是我们在排查问题的一个重要依据.但是日志并不是写了就好了,当你想查看日志的时候,你会发现线上日志堆积的长度已经超越了你一行行浏览的耐性的极限了.于是,很有必 ...

  3. linux(5)--补充(管道| / 重定向> / xargs)/find 与xargs结合使用/vi,grep,sed,awk(支持正则表达式的工具程序)

    本节中正则表达式的工具程序 grep,sed和awk是重点,也是难点!!! 先补充一下一. 管道| / 重定向> / xargs 如:1. 管道和重定向的区别:具体可以见 http://www. ...

  4. awk grep sed cut学习

    awk学习网站 grep sed cut

  5. grep, sed 与 awk 补补课,到底怎么用!

    grep, sed 与 awk 相当有用 ! gerp 查找, sed 编辑, awk 根据内容分析并处理. awk(关键字:分析&处理) 一行一行的分析处理 awk '条件类型1{动作1}条 ...

  6. linux三剑客grep|sed|awk实践

    最好先学习正则表达式的基本用法,以及正则表达式BREs,EREs,PREs的区别 此坑待填 grep sed awk

  7. 开发环境入门 linux基础 (部分)正则表达式 grep sed

    /etc/profile /etc/bashrc  .变量添加到shell环境中,永久生效. /root/.bashrc /root/.bash_profile 正则表达式 定义:正则就是用一些具有特 ...

  8. 日志检索实战 grep sed

    日志检索实战 grep sed 参考 sed命令 使用 grep -5 'parttern' inputfile //打印匹配行的前后5行 grep -C 5 'parttern' inputfile ...

  9. Linux三剑客grep/sed/awk

    grep/sed/awk被称为linux的“三剑客” grep更适合单纯的查找或匹配文本: sed更适合编辑匹配到的文本: awk更适合格式化文本,对文本进行较复杂各式处理: Grep --color ...

随机推荐

  1. Spring.NET中事务管理【转】

    http://www.cnblogs.com/GoodHelper/archive/2009/11/16/springnet_transaction.html 浏览了下写的比较清楚. 在.NET FC ...

  2. react设置默认state和默认props

    1.默认状态设置 1.constructor (ES6) constructor(props) { this.state = { n: ... } } 2.getInitialState (ES5) ...

  3. 关于EK Dicnic

    笔记--最大流  $EK$ $Dinic$ $EK$: 运用反向边可以给当前图一次反悔的机会,就是其实现在的增广路并不是最优的,然后就$bfs$找增广路即可 $Dicnic$: 我们发现其实每一次先$ ...

  4. exBSGS板子

    /*bzoj2480*/ #include <map> #include <cmath> #include <cstdio> #include <cstrin ...

  5. 【ST表】【模板】ST表

    Definition ST表是一种用于处理静态RMQ问题(无修改区间最值问题)的最快数据结构,书写方便使用简单效率便捷.其中其预处理复杂度为O(nlogn),查询复杂度为O(1).总时间复杂度为O(n ...

  6. 题解【bzoj2427 [HAOI2010]软件安装】

    Description 现在我们的手头有\(N\)个软件,对于一个软件\(i\),它要占用\(W_i\)的磁盘空间,它的价值为\(V_i\).我们希望从中选择一些软件安装到一台磁盘容量为\(M\)计算 ...

  7. Java多线程之“同步”

    好习惯要坚持,这是我第二篇博文,任务略重,但是要坚持努力!!! 1.竞争条件 首先,我们回顾一下<Java核心技术卷>里讲到的多线程的“竞争条件”.由于各线程访问数据的次序,可能会产生讹误 ...

  8. Java包名命名规则

    1.  sun公司建议java包的命名规则为域名的倒写. 比如:sun公司www.sun.com 就用该是com.sun.www 2. indi : 个体项目,指个人发起,但非自己独自完成的项目,可公 ...

  9. django自带分页代码

    django分页 {% if is_paginated %} <div class="pagination-simple"> <!-- 如果当前页还有上一页,显示 ...

  10. 企业CEO最核心的应该是销售意识

    一个企业的本质是赚利润,利润怎么来?靠卖东西,所以企业里面最重要的应该是销售人员.在一些500强的外企里有一个规定,没有做过销售的人是很难升到总经理的,在以色列的军队中,没有当过班长,是不可以被提拔为 ...