sed - FreeBSD 中的多行删除

标签 sed freebsd

我们怎样才能在 FreeBSD 中完成这项工作?

在 FreeBSD 中包含模式的多行删除 block 。

sed '/{START-TAG/{:a;N;/END-TAG}/!ba};/ID: 222/d' data.txt

sed multiline delete with pattern .

最佳答案

在 FreeBSD sed 中,您不能使用分号分隔命令。但是,您可以使用 -e 链式命令:

sed -e '/{START-TAG/{' -e :a -e N -e '/END-TAG}/!ba' -e '}' -e '/ID: 222/d' file > outputfile

要内联保存内容,请使用

sed -i '' -e '/{START-TAG/{' -e :a -e N -e '/END-TAG}/!ba' -e '}' -e '/ID: 222/d' file

关于sed - FreeBSD 中的多行删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62459753/

相关文章:

sed 在数字指定的行后插入文件内容

linux - 基于用户执行的二进制特权

linux - 通过前端创建FTP账号

bash - sed:在文件最后一行的位置搜索和替换值

linux - 从文件中提取两个模式之间的线

sed - 从 mysqldump 中按表名获取 INSERT 的行数 - awk、sed、grep

当超过 250 个并发连接时,Ruby SSL TCP 服务器卡住

c++ - 对编译器C++ FreeBSD上的符号 'FCGX_InitRequest'的错误 undefined reference

将 ifaddr 的地址复制到 ifreq 结构

sed - 从字符串中删除最后一个和第一个字符