Get UnxUtils tr.exe for Windows的工作方式与Unix tr的工作方式类似,并带有字符转义

Get UnxUtils tr.exe for Windows的工作方式与Unix tr的工作方式类似,并带有字符转义,windows,bash,batch-file,unix,tr,Windows,Bash,Batch File,Unix,Tr,从另一个跨平台程序中,我希望使用tr.exe程序,就像在Unix下一样,但我无法使其工作,问题是转义。这里有一个例子 创建一个包含内容的blah.txt文件 %^&<>|'`,;=()!\"\\[].*? tr.exe:额外操作数'blah.txt'有关详细信息,请尝试'tr.exe--help' 信息 问题是Windows将*扩展到目录中的文件。但在Unix下,这是没有问题的。不管我怎么做,我都无法从窗户下的窗户逃脱。同样,引号“。即使我能想出如何正确地重写转义,对一组字

从另一个跨平台程序中,我希望使用tr.exe程序,就像在Unix下一样,但我无法使其工作,问题是转义。这里有一个例子

创建一个包含内容的blah.txt文件

%^&<>|'`,;=()!\"\\[].*?
tr.exe:额外操作数'blah.txt'有关详细信息,请尝试'tr.exe--help' 信息


问题是Windows将*扩展到目录中的文件。但在Unix下,这是没有问题的。不管我怎么做,我都无法从窗户下的窗户逃脱。同样,引号“。即使我能想出如何正确地重写转义,对一组字符应用此更正也将是一团混乱

我成功地从UnxTools中获得sed.exe,使其工作一致,因为在这里,我可以使用带有-f选项的程序文件,这样我就不需要逃避任何事情


有什么想法吗?

问题是Windows(CMD.EXE)永远不会展开
*
。这就是为什么转义无法修复它。这就是
dir/s*.txt
可以在子目录中找到文本文件的方式。如果在当前所在的目录中展开
*.txt
,则无法工作


这就是为什么Windows工具需要处理
*
。显然
tr.exe
是错误的。

使用
*
时处理文件全球化的一些简单的可移植方法(顺便说一句,MSalters指出它不是Windows功能)


讽刺的是,这篇文章也需要一些转义。哈哈,非常好。谢谢!(顺便说一句:GnuWin32 tr.exe也有同样的问题,但\“在这里正确工作)。明白了。有没有其他类似的工具可以像sed一样读取程序文件?我在处理sed中可怕的新词等,这就是为什么我想选择tr。看,好吧,不适用于角色类等。虽然我认为。哇,这很有效!非常感谢。不幸的是,我还不能提高投票率,因为没有足够的声誉。
type blah.txt | tr.exe "*" "X"
type blah.txt | tr.exe \52 X
type blah.txt | tr.exe [=*=] X