在 URL 上使用 grep 不起作用

在 URL 上使用 grep 不起作用

我有几个文本文件(a.txtb.txt),其中包含一堆 URL,每个 URL 占一行。将这些文件视为黑名单。我想清理我的c.txt文件,清除其中的任何字符串a.txtb.txt。我的方法是重命名c.txtc_old.txt,然后通过 grep 出和c.txt中的字符串来构建一个新的。a.txtb.txt

type c_old.txt | grep -f a.txt -v | grep -f b.txt -v > c.txt

很长一段时间以来,我的系统似乎运行良好。然而,最近,我几乎丢失了 中的所有内容,并且尽管或c.txt中没有出现新添加的内容,但这些内容也被删除了。我不知道为什么。a.txtb.txt

PS 我使用的是 Windows 7,因此 grep 是单独安装的。如果有不需要我安装其他 Linux 工具的解决方案,我将不胜感激。


更新:我发现批处理文件中有一个错误。我ren c.txt c_old.txt无意中使用了 ,ren如果目标文件存在,则拒绝覆盖它。因此,type c_old.txt | ...总是使用相同的数据。这解释了为什么 中的新添加内容c.txt被删除,但无法解释为什么 中的许多条目都c.txt丢失了。

答案1

嗯,我实际上没有太多数据可以继续,因为自从我最初提出这个问题以来,a.txt 和 b.txt 并没有增加大量新内容,但自从解决这个ren问题(用 替换它move /Y)以来,事情一直很顺利。

所以,事情进展得更好了。我仍然不确定最初的数据丢失是如何发生的,但可能是我在编辑脚本时搞砸了,并且没有在安全的环境中进行测试运行。

相关内容