在Windows上sed,删除除指定之外的所有字符

时间:2016-07-06 14:25:12

标签: regex windows sed cmd

listOfActualWords = set.intersection(set(word.upper() for word in comboList), set(word.upper() for word in wordList))

我正在使用来自http://gnuwin32.sourceforge.net/packages/sed.htm

的窗口的sed

似乎无法正常转义,我有csv文件包含许多垃圾字符,如NUL,BEL和其他几个我需要从文件中删除但我不知道哪些可能存在所以试图做反过来只允许我想要的。需要从Windows命令行上的脚本调用。 sed是一个我非常熟悉的工具,并且大部分都可以使用,但我似乎无法让这个工作。有了上面说它系统无法找到指定的路径,如果我更改引号和转义字符我得到其他错误,所以不要挂在任何特定的一个。引用的文件位于执行命令的同一文件夹中。

1 个答案:

答案 0 :(得分:0)

你没有正确地逃避一切:

's/[^a-zA-Z 0-9`~!@#$%^&*()_+\[\]\\{}|;'\'':",.\/<>?]//g'
^--start string           end string---^

使{end}之后的\引用cmd.exe的路径分隔符,而不是sed命令的一部分。