删除所有不匹配模式的行

用户名

我正在寻找一种删除所有不遵循特定模式的行的方法(从txt文件中删除)。

我需要保留行的模式:

x//x/x/x/5/x/

x 可以是任意数量的字符,数字或特殊字符。

5 始终是字母数字-5个字符的组合-例如Xf1Lh,总是出现在第5个正斜杠之后。

/ 是实际的正斜杠。

输入:

abc//a/123/gds:/4AdFg/f3dsg34/ y35sdf//x/gd:df/j5je:/x/x/x yh//x/x/x/5Fsaf/x/ 45wuhrt//x/x/dsfhsdfs54uhb/ 5ehys//srt/fd/ab/cde/fg/x/x

所需的输出:

abc//a/123/gds:/4AdFg/f3dsg34/ yh//x/x/x/5Fsaf/x/

约翰1024

grep根据正则表达式选择行,您x//x/x/x/5/x/只需要稍作更改即可使其成为正则表达式:

$ grep -E '.*//.*/.*/.*/[[:alnum:]]{5}/.*/' file
abc//a/123/gds:/4AdFg/f3dsg34/
yh//x/x/x/5Fsaf/x/

解释:

  • “ x可以是任意数量的字符,数字或特殊字符”在正则表达式中,.*where.表示任何字符,并且*表示零个或多个前一个字符(在这种情况下为.)。

  • “ 5始终是字母数字-5个字符的组合”在POSIX正则表达式中,[[:alnum:]]表示任何字母数字字符。{5}表示前五个。[[:alnum:]]是Unicode安全的。

可能的改进

一个问题是x应该如何解释。在上面,x被允许为任何字符但是,正如三联指出的那样,另一个合理的解释是,除了之外,x任何字符 应该是/在这种情况下:

grep -E '[^/]*//[^/]*/[^/]*/[^/]*/[[:alnum:]]{5}/[^/]*/' file

另外,我们可能希望此正则表达式仅匹配完整的行。在这种情况下,我们可以围绕正则表达式与^一个$或者我们可以使用grep的-x选项:

grep -xE '[^/]*//[^/]*/[^/]*/[^/]*/[[:alnum:]]{5}/[^/]*/' file

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除与sed模式不匹配的所有行

来自分类Dev

正则表达式-删除所有与模式不匹配的行

来自分类Dev

删除所有不匹配模式的字符/单词

来自分类Dev

如何删除不匹配HH:MM模式的所有内容?

来自分类Dev

如何删除模式不匹配的所有内容

来自分类Dev

如何删除所有与模式不匹配的符号

来自分类Dev

如何grep出与给定模式不匹配的所有行

来自分类Dev

sed从行中删除所有开始的模式匹配

来自分类Dev

sed-如何删除所有不匹配的行

来自分类Dev

选择与模式不匹配的所有内容

来自分类Dev

如何删除与模式匹配的所有文件?

来自分类Dev

在Vim中如何删除所有不匹配模式的单词和字符

来自分类Dev

如何在vi中删除所有与模式询问权限匹配的行

来自分类Dev

如果所有字段都匹配特定模式,请删除一行

来自分类Dev

使用记事本++删除与正则表达式匹配的所有行(不)

来自分类Dev

删除目录中名称与文件列表中的一行不匹配的所有文件

来自分类Dev

使用sed从文件中删除与模式不匹配的行

来自分类Dev

列出所有与 bash 模式不匹配的文件

来自分类Dev

ruby-删除所有名称与模式匹配的文件

来自分类Dev

当id匹配某种模式时,删除所有<div>

来自分类Dev

Linux,找到所有匹配模式的文件并删除

来自分类Dev

如何删除所有与特定模式匹配的软件包?

来自分类Dev

删除所有名称与特定模式匹配的文件

来自分类Dev

使用rsync删除选定的模式,匹配所有文件

来自分类Dev

打印所有行,但连接匹配模式的连续行

来自分类Dev

将与特定模式匹配的所有行放在文件末尾

来自分类Dev

Perl单线:删除具有模式匹配的行

来自分类Dev

脚本:匹配和删除具有特定模式的行

来自分类Dev

删除列中的值与另一个数据集中的列中的值不匹配的所有行

Related 相关文章

  1. 1

    删除与sed模式不匹配的所有行

  2. 2

    正则表达式-删除所有与模式不匹配的行

  3. 3

    删除所有不匹配模式的字符/单词

  4. 4

    如何删除不匹配HH:MM模式的所有内容?

  5. 5

    如何删除模式不匹配的所有内容

  6. 6

    如何删除所有与模式不匹配的符号

  7. 7

    如何grep出与给定模式不匹配的所有行

  8. 8

    sed从行中删除所有开始的模式匹配

  9. 9

    sed-如何删除所有不匹配的行

  10. 10

    选择与模式不匹配的所有内容

  11. 11

    如何删除与模式匹配的所有文件?

  12. 12

    在Vim中如何删除所有不匹配模式的单词和字符

  13. 13

    如何在vi中删除所有与模式询问权限匹配的行

  14. 14

    如果所有字段都匹配特定模式,请删除一行

  15. 15

    使用记事本++删除与正则表达式匹配的所有行(不)

  16. 16

    删除目录中名称与文件列表中的一行不匹配的所有文件

  17. 17

    使用sed从文件中删除与模式不匹配的行

  18. 18

    列出所有与 bash 模式不匹配的文件

  19. 19

    ruby-删除所有名称与模式匹配的文件

  20. 20

    当id匹配某种模式时,删除所有<div>

  21. 21

    Linux,找到所有匹配模式的文件并删除

  22. 22

    如何删除所有与特定模式匹配的软件包?

  23. 23

    删除所有名称与特定模式匹配的文件

  24. 24

    使用rsync删除选定的模式,匹配所有文件

  25. 25

    打印所有行,但连接匹配模式的连续行

  26. 26

    将与特定模式匹配的所有行放在文件末尾

  27. 27

    Perl单线:删除具有模式匹配的行

  28. 28

    脚本:匹配和删除具有特定模式的行

  29. 29

    删除列中的值与另一个数据集中的列中的值不匹配的所有行

热门标签

归档