linux - sed 命令删除文件中的特定项目
问题描述
之前可能已经问过类似的问题,但我找不到解决这个问题的方法:
我需要删除字符串的文件是:
#includedir /etc/sudoers.d
%wheel ALL=(ALL) NOPASSWD: ALL
pam_ansible ALL=(ALL) NOPASSWD: ALL
awx ALL=(ALL) NOPASSWD: ALL
***f10222 ALL=(ALL) NOPASSWD: ALL
mn2345zp ALL=(ALL) NOPASSWD: ALL
ab1235xy ALL=(ALL) NOPASSWD: ALL***
注意:***
是表示我要删除的部分......***
文件中并不存在。
我只想删除多个文件上以粗体(或在 *** 之间)标记的这类字符串,将此文件视为其中之一。
对于这种字符串,sed 可能是什么?删除它并仅保留剩余内容:
#includedir /etc/sudoers.d
%wheel ALL=(ALL) NOPASSWD: ALL
pam_ansible ALL=(ALL) NOPASSWD: ALL
awx ALL=(ALL) NOPASSWD: ALL
我是这些命令的新手,我尝试一下:在我的脚本上我尝试添加
sed '/[a-z0-9]/d' $user
其中用户包含 *** 之间的项目列表,但它只显示
sed:无法读取:没有这样的文件或目录
解决方案
试试这个..
sed '/\*\*\*/,/\*\*\*/d' inputfile
它将删除这两个模式之间的所有内容,甚至包括此模式,并且它也可以处理 *** 位于行中间的情况。
推荐阅读
- excel - Excel..一键获取单元格内容并调用vba函数问题
- php - “未定义索引:密码” Laravel 8.61.0
- python - 为什么 pywinauto 命令之间有 10 秒的延迟?
- node.js - Is there any way to compare a value with certain substring of table value in sequelize?
- google-chrome - How to disable gradient dithering in browsers?
- react-native - React Native Example App symlinking module not working
- elasticsearch - ELASTIC SEARCH - SEARCH IN LOGS
- r - 在R中将字符变量转换为只有年份的日期变量
- javascript - 第一次点击后反应按钮不显示结果,我该如何解决?
- search - 登陆页面上的所有产品搜索栏?