在BASH中的文件中找到匹配项后,如何删除上面的两行?

毗湿奴

我有一个包含如下数据的文件:

  1. 123
  2. 456
  3. 789

找到匹配项789时,我想删除上述两行(123和456)。是否可以用sed或awk做到这一点?请帮忙

gniourf_gniourf

使用ed,标准编辑器:

ed -s file <<< $'3,$g/789/-2,.d\nw'

ed 将看到以下命令:

3,$g/789/-2,.d
w

解释:

3,$g/789/

将标记从第3 *到文件末尾的所有匹配的行/789/; 然后,对于每个标记的行,它将执行以下命令:

-2,.d

这意味着:删除范围-2,.,即从当前行上方的两行(-2)到此处结束(.)的范围。

然后w意味着写入文件。如果您想先尝试而不写入文件,而是在终端上打印(出于测试目的),请使用替换w命令,pQ

ed -s file <<< $'3,$g/789/-2,.d\n,p\nQ'

笔记。ed真正地编辑文件(它是一个编辑器),因此它将快乐地保留符号链接和权限,这与依赖于对流(sedawk有用的工具的所有其他方法不同

笔记。如果您的模式出现在前两行中,它将被保留(不过,可以通过添加一些额外的命令来处理它);如果您的图案出现在2行范围内,那么您可能会感到有些惊讶,例如,

000
123
456
789
123
789

将产生一个空文件,并且

123
456
789
123
789

你会得到一个错误。


*范围从第3行开始,以防万一您的模式出现在前两行中而导致错误

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在文本文件中找到单词并删除包含单词的行和接下来的两行?

来自分类Dev

找到一个单词后如何在文件中插入两行?

来自分类Dev

在perl中找到模式后,删除文件中的行

来自分类Dev

bash-如何从输出中删除前两行

来自分类Dev

如何从文件中删除每隔两行?

来自分类Dev

如何在mysql中找到两行之间的区别

来自分类Dev

如何在mysql中找到两行之间的区别

来自分类Dev

在列中找到值“ 0”的行,然后在上面的行中求和

来自分类Dev

如何在找到模式的行后两行插入文件内容?

来自分类Dev

在PHP中找到匹配项后获得一行

来自分类Dev

如果找到匹配的关键字,请删除上面的行

来自分类Dev

在Python中删除找到某些字符的文本文件的前两行

来自分类Dev

如何比较两个数组并在Clickhouse中找到数组中的匹配项(0/1)

来自分类Dev

如何比较两个数组并在Clickhouse中找到数组中的匹配项(0/1)

来自分类Dev

比较文件中的两行,如果模式匹配则删除它们

来自分类Dev

在文件中查找匹配项并删除行和下面的行

来自分类Dev

如何在grep匹配后也列出两行?

来自分类Dev

在两个文件的两行中找到共同的元素

来自分类Dev

在Unix的文本文件中,基于正则表达式模式匹配,通过在两行之间删除换行符来连接两行

来自分类Dev

在文件中找到一个字符串,然后找到上面的第一行,其中包含带有bash的另一个字符串

来自分类Dev

在 perl 中找到匹配项并复制行

来自分类Dev

如何在文件中找到匹配项,然后为该匹配项添加后缀

来自分类Dev

如何删除Scala Spark中两行分隔符值之间的部分文件?

来自分类Dev

如何在MySQL查询结果中找到两行的差异

来自分类Dev

如何在Ruby中从上面的行中删除换行符?

来自分类Dev

如何从自联接中删除两行

来自分类Dev

crontab +如何防止从crontab中删除前两行

来自分类Dev

如何使用PHP删除txt中的前两行

来自分类Dev

如何找到同一表中两行之间的差异并列出不匹配的记录?mysql在表中查找不匹配的行

Related 相关文章

  1. 1

    如何在文本文件中找到单词并删除包含单词的行和接下来的两行?

  2. 2

    找到一个单词后如何在文件中插入两行?

  3. 3

    在perl中找到模式后,删除文件中的行

  4. 4

    bash-如何从输出中删除前两行

  5. 5

    如何从文件中删除每隔两行?

  6. 6

    如何在mysql中找到两行之间的区别

  7. 7

    如何在mysql中找到两行之间的区别

  8. 8

    在列中找到值“ 0”的行,然后在上面的行中求和

  9. 9

    如何在找到模式的行后两行插入文件内容?

  10. 10

    在PHP中找到匹配项后获得一行

  11. 11

    如果找到匹配的关键字,请删除上面的行

  12. 12

    在Python中删除找到某些字符的文本文件的前两行

  13. 13

    如何比较两个数组并在Clickhouse中找到数组中的匹配项(0/1)

  14. 14

    如何比较两个数组并在Clickhouse中找到数组中的匹配项(0/1)

  15. 15

    比较文件中的两行,如果模式匹配则删除它们

  16. 16

    在文件中查找匹配项并删除行和下面的行

  17. 17

    如何在grep匹配后也列出两行?

  18. 18

    在两个文件的两行中找到共同的元素

  19. 19

    在Unix的文本文件中,基于正则表达式模式匹配,通过在两行之间删除换行符来连接两行

  20. 20

    在文件中找到一个字符串,然后找到上面的第一行,其中包含带有bash的另一个字符串

  21. 21

    在 perl 中找到匹配项并复制行

  22. 22

    如何在文件中找到匹配项,然后为该匹配项添加后缀

  23. 23

    如何删除Scala Spark中两行分隔符值之间的部分文件?

  24. 24

    如何在MySQL查询结果中找到两行的差异

  25. 25

    如何在Ruby中从上面的行中删除换行符?

  26. 26

    如何从自联接中删除两行

  27. 27

    crontab +如何防止从crontab中删除前两行

  28. 28

    如何使用PHP删除txt中的前两行

  29. 29

    如何找到同一表中两行之间的差异并列出不匹配的记录?mysql在表中查找不匹配的行

热门标签

归档