shell:正则表达式和文本处理

作业一:整理正则表达式博客
作业二:grep作业(正则表达式及字符处理)
目标文件/etc/passwd,使用grep命令或egrep
1.显示出所有含有root的行:
2.输出任何包含bash的所有行,还要输出紧接着这行的上下各两行的内容:
3. 显示出有多少行含有nologin。
4.显示出那些行含有root,并将行号一块输出。
5.显示出文件中
6.新建用户
abominable
abominate
anomie
atomize
编写正则表达式,将他们匹配出来
7.建四个用户
Alex213sb
Wpq2222b
yH438PIG
egon666
egon

过滤出用户名组成是字母+数字+字母的行
8.显示出/etc目录下所有包含root的文件名
9. 过滤掉/etc/ssh/sshd_config内所有注释和所有空行

作业三:Sed作业:以/etc/passwd文件为模板

1,删除文件每行的第一个字符。

2,删除文件每行的第二个字符。

3,删除文件每行的最后一个字符。

4,删除文件每行的倒数第二个字符。

5,删除文件每行的第二个单词。

6,删除文件每行的倒数第二个单词。

7,删除文件每行的最后一个单词。

8,交换每行的第一个字符和第二个字符。

9,交换每行的第一个字符和第二个单词。

10,交换每行的第一个单词和最后一个单词。

11,删除一个文件中所有的数字。

12,删除每行开头的所有空格。

13,用制表符替换文件中出现的所有空格。

14,把所有大写字母用括号()括起来。
sed -r ‘s/[A-Z]/(&)/g‘ /etc/passwd
15,打印每行3次。

16,只显示每行的第一个单词。

17,打印每行的第一个单词和第三个单词。

18,用命令获取格式为 mm/yy/dd 的日期格式,结合管道,将其换成 mm;yy;dd格式

时间: 2024-10-13 22:50:17

shell:正则表达式和文本处理的相关文章

Shell正则表达式和文本处理工具(一)

作业一:整理正则表达式博客 1.什么是正则正则就是用一些具有特殊含义的符号组合而成(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 通配符是由shell解释得.如果shell是爷爷,通配符就是爹.正则表达式则是由命令解释得,命令又被shell解释.如果shell是爷爷,正则表达式就是孙子.通配符和命令是一个级别的. 通配符是为了方便命令操作,正则表达式是为了操作文本内容.字符或字符串. *:左边的那一个字符有0个到无穷个+:左边的那一个字符有1个到无穷个?:

使用正则表达式配合文本搜索工具Grep以及Egrep快速搜索文本

正则表达式: 计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本. 正则表达式由两类组成: 基本正则表达式与扩展正则表达式 基本正则表达式: 字符匹配 .:匹配单个字符 []:匹配指定集合中的任意单个字符 [:digit:]:所有数字(0-9) [:lower:]:所有小写字母(a-z) [:upper:]:所有大写字母(A-Z) [:space:]:空白符 [:punct:]:特殊字

第七章 Shell正则表达式

正则表达式在每种语言中都会有,目的就是匹配符合你预期要求的字符串. 7.1 Shell正则表达式 基础正则表达式:BRE(basic regular express) 扩展正则表达式:ERE(extend regular express),扩展的表达式有+.?.|和() 符号 描述 示例 . 匹配除换行符(\n)之外的任意单个字符 匹配123: echo -e "123\n456" |grep -E '1.3' ^ 匹配字符串开头 匹配以abc开头的行: echo -e "a

Linux shell 正则表达式用法

1.“ \  ” 用法 用于关闭其后续字符的特殊含义,恢复字符的本身含义,如:\\ 表示字符 \ 2. “ . " 用法 匹配任意单个字符 3. " * " 用法 匹配任意字符,可以是单个,也可以是多个,和 ”.“ 字符的去吧是是否可以匹配多个任意字符 4. "^" 的用法 在行的起始处开始匹配紧接着的字符,如 ^6,匹配行的首字符为6的行. 5." $ " 的用法 和 “^” 用法相似,表示在行的结尾处开始匹配字符,如 6$,匹配行的

如何使用 awk 和正则表达式过滤文本或文件中的字符串

当我们在 Unix/Linux 下使用特定的命令从字符串或文件中读取或编辑文本时,我们经常需要过滤输出以得到感兴趣的部分.这时正则表达式就派上用场了. 什么是正则表达式? 正则表达式可以定义为代表若干个字符序列的字符串.它最重要的功能之一就是它允许你过滤一条命令或一个文件的输出.编辑文本或配置文件的一部分等等. 正则表达式的特点 正则表达式由以下内容组合而成: 普通字符,例如空格.下划线.A-Z.a-z.0-9. 可以扩展为普通字符的元字符,它们包括: (.) 它匹配除了换行符外的任何单个字符.

第十五章 shell正则表达式

第十五章 shell正则表达式 见图片 Shell正则表达式 正则表达式的分类 基本的正则表达式(Basic Regular Expression 又叫Basic RegEx 简称BREs) 扩展的正则表达式(Extended Regular Expression 又叫Extended RegEx 简称EREs) Perl的正则表达式(Perl Regular Expression 又叫Perl RegEx 简称PREs) 基本组成部分 正则表达式的基本组成部分. 正则表达式 描述 示例 Bas

Perl语言学习笔记 9 正则表达式处理文本

1.替换 s/PATTERN/REPLACE/; #返回是否替换成功的布尔值 可以使用捕获变量,如:s/(\w)/$1/ 匹配失败则不做任何处理 2.定界符 对于没有左右之分的定界符,重复三次即可,如:s///.s### 对于有左右之分的定界符,需使用两对,一对包含模式,一对包含替换字符串,这两对可以不一样,如:s{}{}.s[]{}.s<>[] 3.可选修饰符 /g可进行全局替换,替换所有匹配到的字符串,如:s/ / /g /s:使得 . 匹配所有字符 /i:大小写无关 4.绑定操作符 $f

shell 正则表达式与文件名匹配

1) . : 匹配任意单ASCII 字符,可以为字母,或为数字.2) 举例: ..XC..匹配deXC1t.23XCdf等,.w..w..w.匹配rwxrw-rw-行首以^匹配字符串或字符序列1) ^ : 允许在一行的开始匹配字符或单词.2) 举例: ^.01 匹配0011cx4.c01sdf 等,^d 匹配drwxr-xr-x.drw-r--r--等 行尾以$匹配字符串或字符 1) $ : 在行尾匹配字符串或字符,$符号放在匹配单词后.2) 举例: trouble$ 匹配以单词trouble结

Linux Shell编程实战---Shell中的文本切片技术

Shell中的文本切片技术 在shell中竟然也是有字符串切片这个东西存在的,一直在python中运用切片,下面记录一下shell中切片的用法. (1).替换变量内容中的部分文本 $var="This is a line of text" $ echo${var/line/REPLACED} This is aREPLACED of text" line被替换成REPLACED. (2).指定字符串的起始位置和长度来生成子串 语法如下: ${variable_name:sta

正则表达式与文本处理三剑客之一:grep和egrep

对于刚接触的人而言,正则表达式的学习与使用一个痛苦而迷茫的东东,但是只要有热心,也会发现很有趣的.那么请让我们打起精神,拿出自己的兴趣与激情一起走进Linux的奇妙世界吧. 什么是正则表达式? 正则表达式是你定义的,Linux工具用来过滤文本的模式模板,换句话说就是使用一定的工具(比如今天要写的grep和egrep)用来文本匹配和过滤的一个手段,是通过正则表达式引擎来实现的,而正则表达式引擎是解释正则表达式模式并使用这些模式进行文本匹配的底层软件,在Linux中有两种流行的正则表达式引擎(也就有