linux文本三剑客

linux文本三剑客

1、grep

过滤

参数 用法 作用
-i grep -i STRING xxx.txt 从xxx.txt文件查找不区分大小写STRING
-w grep -w STRING xxx.txt 精确匹配STRING
-e grep -e STRING1 -e STRING2 xxx.txt 查找多个STRING行
-n grep -n STRING xxx.txt 查看STRING 在第几行
-v grep -v STRING xxx.txt 输出不包含STRING的行
-r grep -r STRING DIR/ 查找DIR目录下哪个文件包含STRING,-lr就只输出同一个文件名称
-E grep -E 'aaa bbb' xxx.txt
-C grep STRING -C 5 xxx.txt 查看上下5行

2、sed

逐行读取并处理文件

增删改查

|-----|-----------------------|------------------------------------------------------------------|
| args 参数 |||
| 参数 | 用法 | 作用 |
| -e | sed -e '表达式' xxx.txt | 接表达式,可以接多个-ne -e |
| -ie | sed -ie '表达式' xxx.txt | e可以省略,加上-e后会生成一个 xxx.txte的原文件作为副本方便恢复,但是-i -e 并不会生成副本文件;-i确认修改生效 |

|----|----------------------|-----------------------------------------------------------------------------------------------|
| 表达式 |||
| xi | 第x行前插入yyy | sed -e '2i\hello world' xxx.txt |
| xa | 第x行后插入yyy | sed -e '2a\hello world' xxx.txt |
| xd | 删除第x行 | sed -e '4d' xxx.txt |
| xc | 覆盖第x行(整行替换) | sed -e '1c\aaaa' xxx.txt |
| xs | 替换第x行的yyyy为kkk(局部替换) | sed -e '2s/yyyy/kkk/' xxx.txt,这里只能替换一个yyyy,如果存在多个yyyy可以使用'2s/yyyy/kkk/g',表示把第2行中所有的yyyy替换为kkk |
| xp | 指定打印第x行 | sed -e '1p' xxx.txt,,但是用-e 会把缓存区的数据也读出来,改为-n(表示只采用改变的内容)即可 |

bash 复制代码
sed -e '表达式' xxx.txt

例如:

在第二行插入(i)hello world

bash 复制代码
# 2 指第2行
# i指行前插入 insert
# 用 \ 隔开文本内容
sed -e '2i\hello world' test20230823.txt
相关推荐
Guheyunyi2 分钟前
用电安全管理系统的三大系统架构
大数据·运维·人工智能·安全·架构·系统架构
weixin_46682 分钟前
K8S-Configmap
linux·容器·kubernetes
初圣魔门首席弟子3 分钟前
核心 Bug:客户端与服务器端口不匹配(导致请求无法送达)
linux·网络
weixin_3077791310 分钟前
Jenkins Pipeline: Multibranch 插件详解:现代CI/CD的多分支管理利器
运维·开发语言·自动化·jenkins·etl
福尔摩斯张11 分钟前
TCP协议深度解析:从报文格式到连接管理(超详细)
linux·c语言·网络·c++·笔记·网络协议·tcp/ip
刀刀是个萌妹子12 分钟前
使用CloneZilla还原操作系统
linux·运维·服务器
列逍14 分钟前
Linux文件(二)
linux·磁盘·文件系统·挂载·软硬链接·缓冲区
一个平凡而乐于分享的小比特22 分钟前
U-Boot 和 Linux 内核的关系及设备树详解
linux·设备树·uboot
代码不行的搬运工22 分钟前
交换机和网卡的 PFC 机制工作原理与实例解析
运维·服务器·网络·算力网络
木风小助理24 分钟前
MySQL 存储过程与函数:核心辨析与应用指南
服务器·数据库·microsoft