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 /?
描述
我需要在文本文件中找到一个字符串,删除包含它的行,然后保存文件。该字符串是从另一个文本文件中找到(读取)的,该文件包含数百个不同的字符串,每行一个。这个过程就是从文件中的第一个字符串一直到最后一个字符串。
有推荐的(希望易于使用)文本编辑器(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 /?