Windows 用于从文本中删除特殊字符的应用程序或批处理文件脚本

Windows 用于从文本中删除特殊字符的应用程序或批处理文件脚本,windows,batch-file,Windows,Batch File,我喜欢这个在线工具,但它缺少另一个重要功能,即从大量文本中删除除u,-,和之外的特殊字符,如%、%、[,)、*、?、'等 我正在寻找一个在线工具或一个小的windows实用程序或一个批处理脚本来实现这一点。我认为sed是这里最简单的选择。你可以在windows上下载它。此外,几乎每个文本编辑器都应该允许这样做(但大多数编辑器无法很好地处理多GiB范围内的文件) 使用sed时,您可能需要这样的功能: sed "s/[^a-zA-Z0-9_.-]//g" file.txt 同样,如果您有一个半新版

我喜欢这个在线工具,但它缺少另一个重要功能,即从大量文本中删除除u,-,和之外的特殊字符,如%、%、[,)、*、?、'等


我正在寻找一个在线工具或一个小的windows实用程序或一个批处理脚本来实现这一点。

我认为
sed
是这里最简单的选择。你可以在windows上下载它。此外,几乎每个文本编辑器都应该允许这样做(但大多数编辑器无法很好地处理多GiB范围内的文件)

使用
sed
时,您可能需要这样的功能:

sed "s/[^a-zA-Z0-9_.-]//g" file.txt
同样,如果您有一个半新版本的Windows(即Windows 7),那么PowerShell也会预装。以下一个系列将为您提供:

Get-Content file.txt | foreach { $_ -replace '[^\w\d_.-]' } | Out-File -Encoding UTF8 file.new.txt

这也可以很容易地适应多个文件。可能您还可以再次输出到原始文件中,因为我认为
Get Content
生成的是一个数组,而不是枚举数(即,当您读取文件时,此管道无法对其进行操作)但是,对于非常大的文件,也会出现类似的问题。

您可以使用任何支持正则表达式的工具/语言来执行正则表达式。下面是一个命令


很抱歉,说到这一点,我是一个彻头彻尾的傻瓜。我该如何使用你用sed编写的一行代码?@techdaemon:你不需要。那就是PowerShell,就像我写的一样。不过,我添加了一个
sed
示例,它的行数相同(但我认为只适用于ASCII文本)。我通常没有
sed
,所以我不能马上提供一个例子。我对你的techspeak不是很了解。你能用外行的话来说吗?我是指普通的计算机用户。我只需要去除文本文件中的许多特殊字符。只需删除,而不是替换,但不包括句号、下划线和dash。如果您能帮助我,请提前感谢。@techdaemon:如果您不使用任何内容替换某个内容,则会有效地将其删除。这就是为什么许多环境只有一个强大的替换操作,而没有明确的删除操作。您的问题非常模糊,我以为您会知道足够多的内容来为您提供解决方案,但老实说,因为我不知道确切的内容只是你需要什么(除了从文本中删除这些字符),我不能给你一个你只需要应用的完整解决方案。这里也有点不赞成要求其他人完全完成你的工作。那么我如何使用你编写的sed代码或powershell代码呢?我在哪里键入它?我使用的是windows,而不是unix或linux。
C:\work>ruby -ne 'print $_.gsub(/[%)?\[\]*]/,"")' file