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
相关推荐
若风的雨6 分钟前
安全与验证模块设计方案
linux·安全
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.30 分钟前
Haproxy ACL实战:精准分流与访问控制
运维
Eiceblue35 分钟前
.NET框架下Windows、Linux、Mac环境C#打印PDF全指南
linux·windows·.net
RockHopper202538 分钟前
解读数字化生产运行系统的裁决机制
运维·系统架构·智能制造·isa-95·isa-88
试试勇气41 分钟前
Linux学习笔记(十三)--文件系统
linux·笔记·学习
guizhoumen1 小时前
2026年建站系统推荐及选项指南
大数据·运维·人工智能
yingdonglan1 小时前
鸿蒙跨端Flutter学习——GridView高级功能
linux·运维·windows
wdfk_prog1 小时前
[Linux]学习笔记系列 -- [drivers][clk]clk
linux·笔记·学习
遇见火星1 小时前
在Linux中使用journalctl命令进行日志分析和管理详细教程
linux·运维·服务器·journalctl
xuefuhe1 小时前
RHEL9 yum install etcd Error: Unable to find a match: etcd
linux·运维·centos