Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除不带@textmate regex的所有行_Regex_Textmate - Fatal编程技术网

删除不带@textmate regex的所有行

删除不带@textmate regex的所有行,regex,textmate,Regex,Textmate,我有一个巨大的文件,我需要过滤掉所有不包含电子邮件地址的行(逗号分隔的文件)(通过@character确定) 现在我要做的是找到所有包含@符号的行: .*,.*,.*@.*,.*$ 基本上,您有4个值,第3个值有电子邮件地址 替换为:值将为空。尝试将^[^@]*$替换为空。或者,grep将文件与正则表达式一起删除,并将结果重定向到新文件。尝试将^[^@]*$替换为空。或者,grep将文件与您的正则表达式一起重定向到一个新文件中。在TextMate中,您有大约10种不同的方法来执行此操作,甚至可

我有一个巨大的文件,我需要过滤掉所有不包含电子邮件地址的行(逗号分隔的文件)(通过@character确定)

现在我要做的是找到所有包含@符号的行:

.*,.*,.*@.*,.*$
基本上,您有4个值,第3个值有电子邮件地址


替换为:值将为空。

尝试将
^[^@]*$
替换为空。或者,
grep
将文件与正则表达式一起删除,并将结果重定向到新文件。

尝试将
^[^@]*$
替换为空。或者,
grep
将文件与您的正则表达式一起重定向到一个新文件中。

在TextMate中,您有大约10种不同的方法来执行此操作,甚至可以从命令行执行更多操作。这里有一些简单的方法

来自TextMate:

  • Command-control-t,开始键入命令的某些部分“将不匹配的行复制到新文档”,对模式使用@(除此之外)
  • 与上面相同,只是您要查找的命令是“提取文档/选择”
  • 查找并选择@符号。然后执行与上述操作相同的操作,但搜索命令“带线匹配选择/剪贴板”。你可能没有,因为我可能自己开发了这个
  • 从命令行:

    键入以下命令之一,将文件替换为文件名,如果文件路径不在当前工作目录中,则包括文件路径。可以在新文件中找到筛选的内容

  • 使用egrep:
    egrep-v'@'文件>文件新建
  • 使用sed:
    cat文件| sed-e”/@/D“>文件新建
  • 对于以上两种情况,请使用
    diff
    查看您完成了什么:
    diff文件{,-new}


    我猜这应该可以了……

    在TextMate中,您有大约10种不同的方法来实现这一点,在命令行中甚至有更多的方法。这里有一些简单的方法

    来自TextMate:

  • Command-control-t,开始键入命令的某些部分“将不匹配的行复制到新文档”,对模式使用@(除此之外)
  • 与上面相同,只是您要查找的命令是“提取文档/选择”
  • 查找并选择@符号。然后执行与上述操作相同的操作,但搜索命令“带线匹配选择/剪贴板”。你可能没有,因为我可能自己开发了这个
  • 从命令行:

    键入以下命令之一,将文件替换为文件名,如果文件路径不在当前工作目录中,则包括文件路径。可以在新文件中找到筛选的内容

  • 使用egrep:
    egrep-v'@'文件>文件新建
  • 使用sed:
    cat文件| sed-e”/@/D“>文件新建
  • 对于以上两种情况,请使用
    diff
    查看您完成了什么:
    diff文件{,-new}

    我猜这应该可以了