赞
踩
• . 匹配除换行符外的任意单个字符
• * 匹配任意一个跟在它前面的字符
• [ ] 匹配方括号中的字符类中的任意一个
• ^ 匹配开头
• $ 匹配结尾
• \ 转义后面的特殊字符
转义字符一般需要双引号进行括起来,不然可能会二次解析
扩展元字符
• + 匹配前面的正则表达式至少出现一次
• ? 匹配前面的正则表达式出现零次或一次
• | 匹配它前面或后面的正则表达式
格式:find 路径 查找条件 [ 补充条件 ]
根据文件类型来进行查找
根据文件时间来进行查找,-atime是最后访问的时间,如cat;-mtime是文件内容修改的时间,如>>;-ctime是文件的基本信息修改,比如chmod;touch三个都修改,>>修改-mtime和-cttime
找到文件进行删除,提示删除信息
• grep 选项 文本文件1 [ … 文本文件n ]
• 常用选项
• -i 忽略大小写
• -r 递归读取每一个目录下的所有文件
找到文件中对应的行进行剪切
• Vim 和 sed、AWK 的区别
• 交互式与非交互式
• 文件操作模式与行操作模式
• sed 的基本用法演示
sed 一般用于对文本内容做替换
sed ‘/user1/s/user1/u1/’ /etc/passwd
• AWK 的基本用法演示
AWK 一般用于对文本内容进行统计、按需要的格式进行输出
cut 命令: cut -d : -f 1 /etc/passwd
AWK 命令: awk -F: ‘/wd$/{print $1}’ /etc/passwd
• sed 的模式空间
sed 的基本工作方式是:
• 将文件以行为单位读取到内存(模式空间)
• 使用sed的每个脚本对该行进行操作
• 处理完成后输出该行
• 替换命令 s
sed 的替换命令 s:
• sed ’s/old/new/’ filename
• sed -e ’s/old/new/’ -e ’s/old/new/’ filename …
• sed -i ’s/old/new/’ ’s/old/new/’ filename …
• 带正则表达式的替换命令 s:
• sed ’s/正则表达式/new/’ filename
• sed -r ’s/扩展正则表达式/new/’ filename
匹配文件的前5行并且替换前三个字符为空输出
* + ? |的使用
通过()分组实现sed的回调
• 全局替换 g
s/old/new/g
• g 为全局替换,用于替换所有出现的次数
• / 如果和正则匹配的内容冲突可以使用其他符号,如:
• s@old@new@g
• 标志位 数字
s/old/new/标志位
• 数字,第几次出现才进行替换
• g,每次出现都进行替换
• p 打印模式空间的内容
• sed -n ‘script’ filename 阻止默认输出
• w file 将模式空间的内容写入到文件
• 寻址
默认对每行进行操作,增加寻址后对匹配的行进行操作
• /正则表达式/s/old/new/g
• 行号s/old/new/g
• 行号可以是具体的行,也可以是后一行 $ 符号
• 可以使用两个寻址符号,也可以混合使用行号和正则地址
• 分组
• 寻址可以匹配多条命令
• /regular/ { s/old/new/ ; s/old/new/ }
• sed 脚本文件
• 可以将选项保存为文件,使用-f 加载脚本文件
• sed -f sedscript filename
• 删除命令
• [ 寻址 ]d
• 删除模式空间内容,改变脚本的控制流,读取新的输入行
d会改变基本的处理流程,匹配d后面的命令不会被执行
• 追加、插入、更改
• 追加命令 a
• 插入命令 i
• 更改命令 c
• 打印
• 打印命令 p
• 下一行
• 下一行命令 n
• 打印行号命令 =
• 读文件和写文件
• 读文件命令 r
• 写文件命令 w
• 退出命令
• 退出命令 q
• 哪个效率会更高呢?
• sed 10q filename
• sed -n 1,10p filename
创建一个1..1000000行的文件,查看行数
sed是逐行读取每一行,会就在文件到内存,q只会读取前10行打印
sed多行模式
为什么要有多行模式?
• 配置文件一般为单行出现
• 也有使用 XML 或 JSON 格式的配置文件,为多行出现
多行模式处理命令 N、D、 P
• N 将下一行加入到模式空间
• D 删除模式空间中的第一个字符到第一个换行符
• P 打印模式空间中的第一个字符到第一个换行符
.间接做了换行的作用
每次多去多行,用sed解决多行配置文件的问题
sed的保持空间
• 什么是保持空间
• 保持空间也是多行的一种操作方式
• 将内容暂存在保持空间,便于做多行处理
• 保持空间命令
• h 和 H 将模式空间内容存放到保持空间
• g 和 G 将保持空间内容取出到模式空间
• x 交换模式空间和保持空间内容
行数反转
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。