我有一个巨大的文件,我需要过滤掉所有不包含电子邮件地址的行(逗号分隔文件)(通过@字符确定)。
现在我所拥有的是找到包含@符号的所有行:
.*,.*,.*@.*,.*$
基本上你有4个值,第3个值有电子邮件地址。
替换为:value将为空。
答案 0 :(得分:4)
在TextMate中有大约10种不同的方法可以在命令行中执行此操作。以下是一些更简单的方法......
来自TextMate:
从命令行:
键入以下命令之一,用文件名替换FILE,包括文件路径(如果它不在当前工作目录中)。过滤的内容可以在FILE-new中找到。
egrep -v '@' FILE > FILE-new
cat FILE | sed -e "/@/D" > FILE-new
对于上述两种情况,请使用diff
查看您的成就:diff FILE{,-new}
应该这样做,我猜...
答案 1 :(得分:1)
尝试无需替换^[^@]*$
。或者,使用正则表达式grep
文件并将结果重定向到新文件。