Linux正则表达式sed、awk
sed介绍
Sed是一个流处理编辑器,它能帮助我们自动处理文件、分析日志文件、修改配置文件等。
Stream Editor文本流编辑,sed是一个“非交互式的”面向字符流的编辑器。能同时处理多个文件
多行的内容
可以不对原文件改动,把整个文件输出到屏幕
可以把匹配到的内容输出到屏幕上
还可以对原文件改动,但是不会再屏幕上返回结果
sed 参数
sed [-hnV] [-e<script>] [-f<script文件>] [文本文件]
- -e <script>或--expression=<script>以选项中指定的script来处理输入的文本文件。
- -f<script文件>或--file=<script文件>以选项中指定的script文件来处理输入的文本文件。
- -h或--help 显示帮助。
- -n或--quiet或--silent仅显示script处理后的结果。
- -V或--version显示版本信息。
sed 动作
可以理解为操作
- a : 新增,a的后面可以接字串,新增字符串会在目前的下一行
- c∶取代,c的后面可以接字串,这些字串可以取代n1,n2之间的行
- d : 删除,因为是删除,所以d通常写在最后
- i : 插入,i的后面可以接字串,新增字串会在目前的上一行
- p : 打印,将某个选择的数据显示出。通常p会与参数sed -n一起运行
- s : 替换,可以直接进行替换。通常这个s 的动作可以搭配正则表示。例如1,20s/old/new/g(是不是和vim的替换很像?)
在文件中添加第三行,内容为hello
sed -e '2a hello world' sed.test
删除行,删除2到3行
cat -n sed.test | sed -e '2,3d'
删除包含22222的行
cat sed.test | sed '/22222/d'
替换行
将1-2行替换为hahaha
cat -n sed.test | sed '1,2c hahaha'
查找并替换字符串
将示例文本的中Hello换成Haha
sed 's\hello\haha\g' sed.test
前面的一系列操作,只是在屏幕上按要求输出了内容,而文件本身并没有改变
sed也可以用于文件自身的修改。但这样操作非常危险,有可能误操作将文件改坏,所以我们要在有充足把握的情况下才能这样使用
结合-i和查找替换即可修改文件,上例中加-i即可
awk
awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。它支持用户自定义函数和动态正
则表达式等功能,是linux/unix下的一个强大编程工具。awk命名来自于三位创始人Alfred Aho,
Peter Weinberger,和BrianKernighan的Family Name的首字符。
awk格式
命令行格式:
awk [选项参数] 'script var=value file(s)
awk 内嵌参数
内置变量1:
$0:表示整个当前行
$1:每行第一个字段
内置变量2:
NR:每行的记录号,行号
NF:字段数量变量,字段总数
FILENAME:正在处理的文件名
分割,显示/etc/passwd的第一列,即用户名
cat /etc/passwd | awk -F : '{print $1}'
匹配某段字符
cat /etc/passwd | awk -F : '$1 ~ /oo/'
显示/etc/passwd的前五行,显示每行的行号、列数,以及该行完整的内容
head -n5 /etc/passwd | awk -F : '{print NR " " NF " " $0}'
条件操作匹配
cat /etc/passwd | awk -F : '$3=="0"'
这里操作符号可以用==、>.>= .< . <=. != 都是可行
和数字比较时,将数字要用双引号“”引起来,表示字符串,不加引号则表示数字
cat /etc/passwd | awk -F: "$3>="1000""
Linux正则表达式sed、awk相关推荐
- linux shell sed awk 命令(2)-awk
linux shell sed awk 命令(2)-awk awk语法格式: awk [选项] -f program-file [ -- ] file ... 选项: -F fs, --field-s ...
- linux grep sed awk
linux 文本编辑命令grep sed awk(转) grep grep (global search regular expression(RE) and print out the li ...
- 【Linux】 sed AWK
文章目录 sed AWK 与 Vim的区别 sed sed的替换命令 sed 替换加强版 全局替换 标志位 寻址替换 分组 脚本文件 其他命令 删除 追加插入 和更改 rw 文件 行号 打印 p p ...
- linux正则表达式sed
sed.awk工具可以实现文本替换并且把替换的文本输出到屏幕上 sed和awk都是流式编辑器,是针对文档的行来操作的.sed通常用来替换操作. 示例的文本内容,以下操作根据此文本. 1 2 3 4 5 ...
- grep 正则表达式 sed awk expect
今日内容 grep : 过滤 sed :非交互式编辑文本 awk :格式化处理有规律的文本 expect : expect帮忙处理交互 三剑客命令的共性 : 1. 都支持正则表达式 2. 都支持管道 ...
- linux sed 正则提取字符串,linux正则表达式sed
sed.awk工具可以实现文本替换并且把替换的文本输出到屏幕上 sed和awk都是流式编辑器,是针对文档的行来操作的.sed通常用来替换操作. 示例的文本内容,以下操作根据此文本.[root@yong ...
- Linux shell sed awk
1.我们的平台编译kernel的时候总是要输入项目名称,很麻烦 ################################################ ## Compile kernel a ...
- Linux正则表达式和文本处理工具(gred、awk、sed)
使用Linux 的 gred.awk.sed 可以方便得处理文本,然而若要灵活使用这三个工具,首先必须理解正则表达式.这里先对正则表达式进行学习,做点记录,之后再练习一下文本处理工具的使用. 正则表达 ...
- Linux正则表达式、grep、sed、awk简单使用
文章目录 正则表达式 元字符 扩展元字符 POSIX字符类补充 使用案例 grep grep的正则表达式 grep使用案例 sed sed使用详解 sed使用方法 sed命令 sed和正则表达式 基本 ...
最新文章
- Sciences:用膳食纤维钓出15株缓解糖尿病的细菌!
- RabbitMQ 入门
- [转]C#遍历局域网的几种方法及比较
- java 面向对象 小练习
- 怎样禁用计算机里的防病毒程序,Windows Defender防病毒程序已在Windows 10上完全永久禁用...
- 05 Diagnostics 诊断
- java xml字符串提取元素,如何从Java中将子元素从XML提取到字符串?
- Linux中shell变量基础概念笔记
- python gdb coredump_Linux段错误及GDB Coredump调试方法
- 高低压配电柜温度在线监测系统解决方案
- excel表格数字显示不全_Excel表格中输入数字最后几位数变成0的解决方法
- 【数据分析】快速获取微博用户数据,图片,视频
- 柔性电子 压力传感器 strain-pressure sensor MoS2/graphene
- python抢票脚本github_春运买不到票?程序员喊你来GitHub上用抢票神器!
- ROMS四维变分测试
- R语言置信区间计算(confidence interval)、计算比例值对应的置信区间、为比例值构建95%执行区间、使用glue包把最终结果以标准格式输出
- 蓝蓝算法06--输出链表中倒数第k个结点
- python英文文本词频统计_python实现简单的英文词频统计
- 支付宝网银支付逻辑介绍
- 关于RM1135/RTS5735主控固态SSD开卡量产工具的使用简介
热门文章
- 手把手教你如何用飞桨自动生成二次元人物头像
- Kubernetes详解(五十三)——Kubernetes Role创建和Rolebinding
- 关于图像快速缩放算法,目前看到的最好的最清晰的一篇文章
- c语言利息计算编程,C语言中的求利息编程?
- OSChina 周四乱弹 —— 二次元世界很不安全
- pyqt5 显示摄像头画面
- 好和弦-3-伴奏入门
- [Linux] 压缩、解压文件夹命令
- AI真的能取代设计师吗?
- access中的android sdk,Android Studio报错unable to access android sdk add-on list解决方案