SED 或其他编辑器 - 从 Windows 上的文件中删除字符串

SED or other editor - remove strings from file on Windows

我需要在文本文件中找到一个字符串,删除包含它的行,然后保存文件。该字符串是从另一个文本文件中找到(读取)的,该文件包含数百个不同的字符串,每行一个。这个过程就是从文件中的第一个字符串一直到最后一个字符串。

有推荐的(希望易于使用)文本编辑器(Windows OS)吗?为了完成任务。

我不喜欢严肃的日常编辑。因此,如果可以使用易于使用但仍然可靠的编辑器来完成任务,我将非常高兴。

非常感谢, 弗兰克

你可以试试notepad++,因为它有很多插件,还有一个很棒的搜索算法。我做了一个类似的任务,我不得不做很多 search/replace 的事情,并使用了我从互联网上挖出的插件,记不清名字了(尝试 google-ing 我认为它是 replaacc for记事本++或类似的东西)。

使用 sed:

sed -n '/PATTERN/n;p' FILE > FILE.new # then copy FILE.new to FILE

告诉 sed 默认不输出任何内容 (-n),找到模式 (/PATTERN/),如果找到则跳过此行 (n),否则打印行 ( ;p)。如果你有 GNU sed 你可以调用

sed -i -n '/PATTERN/n;p' FILE`

由于 (-i /--in-place) 而自动更新文件。

在 unix/linux/cygwin:

grep -v -f pattern_file unmodified_file > new_file

从unmodified_file中删除所有包含pattern_file中模式的行,写入new_file。

grep -v 输出不匹配任何模式的行。 -f 从文件中读取模式。

在 windows 这似乎等同于 运行 这在命令提示符下:

FINDSTR /V /G:pattern_file unmodified_file > new_file

就是这样。如果您已经拥有这两个源文件,则为 one-liner.

pattern_file 将区分空格和大小写,除非您深入研究其他选项,这些选项用 FINDSTR /?

描述