Linux grep技巧 删除含有指定关键词的行,创建新文件

一. 需求

⏹有如下文件,现要求


二. grep -v 排除

⏹方式1

  • -E:用来指定正则表达式
  • -v:用来排除
bash 复制代码
grep -E "xuecheng|192.168.1.1" -v ./hosts
bash 复制代码
# 查看hosts文件内容
fengyehong@ubuntu:~/jmw_work_space/20240625$ cat hosts
127.0.0.1 www.xuecheng.com
127.0.0.1 img.xuecheng.com
192.168.1.1 www.test.com
127.0.0.1 video.xuecheng.com
127.0.0.1 teacher.xuecheng.com
127.0.0.1 system.xuecheng.com
127.0.0.1 ucenter.xuecheng.com
127.0.0.1 license.sublimehq.com

# 排除指定的行
fengyehong@ubuntu:~/jmw_work_space/20240625$ grep -E "xuecheng|192.168.1.1" -v ./hosts
127.0.0.1 license.sublimehq.com

⏹方式2

bash 复制代码
grep -v "xuecheng" ./hosts | grep -v "192.168.1.1"
bash 复制代码
# 查看hosts文件内容
fengyehong@ubuntu:~/jmw_work_space/20240625$ cat hosts
127.0.0.1 www.xuecheng.com
127.0.0.1 img.xuecheng.com
192.168.1.1 www.test.com
127.0.0.1 video.xuecheng.com
127.0.0.1 teacher.xuecheng.com
127.0.0.1 system.xuecheng.com
127.0.0.1 ucenter.xuecheng.com
127.0.0.1 license.sublimehq.com

# 先使用-v排除掉xuecheng关键字之后,再使用-v排除192.168.1.1关键字
fengyehong@ubuntu:~/jmw_work_space/20240625$ grep -v "xuecheng" ./hosts | grep -v "192.168.1.1"
127.0.0.1 license.sublimehq.com

三. 创建新文件

bash 复制代码
grep -v "xuecheng" ./hosts | grep -v "192.168.1.1" > new_hosts
相关推荐
ziqi522几秒前
Docker容器镜像管理、制作
运维·docker·容器
D4c-lovetrain3 分钟前
Linux个人心得29(深入理解K8S Pod优先级与驱逐机制:从原理到实战踩坑)
linux·运维·kubernetes
志栋智能9 分钟前
超自动化巡检:量化运维成效的标尺
运维·网络·人工智能·自动化
小吴伴学者25 分钟前
Linux RX报文处理全流程解析
linux
小侯不躺平.37 分钟前
C++ Boost库【2】 --stringalgo字符串算法
linux·c++·算法
jingleli2143 分钟前
ssh配置内置sftp并使用密钥对登录
运维·ssh
盘古信息IMS1 小时前
盘古信息 MES:赋能电子制造精益生产,实现排程、物料、质量一体化精准管控
大数据·运维·制造
夏乌_Wx1 小时前
计算机网络实践项目 | 云相册(文件互传与管理系统)
linux·计算机网络
用户805533698031 小时前
嵌入式Linux驱动开发——设备树语法与编译工具——读懂这张"藏宝图"
linux·嵌入式