我正在寻找一种将文件中所有出现的字符串 A 替换为 B 的方法。
我尝试使用 GnuWin32 sed 实用程序,但结果文件被修剪。这可能是因为文件包含非 Unicode 字符。只有在命令前添加 LC_ALL=C 后,相同的命令才能在 Mac 上使用相同的文件。我可以使用哪些其他工具以及如何使用?我可以将一些标志传递给 GnuWin32 sed 来处理非 unicode 字符吗?
我正在寻找一种将文件中所有出现的字符串 A 替换为 B 的方法。
我尝试使用 GnuWin32 sed 实用程序,但结果文件被修剪。这可能是因为文件包含非 Unicode 字符。只有在命令前添加 LC_ALL=C 后,相同的命令才能在 Mac 上使用相同的文件。我可以使用哪些其他工具以及如何使用?我可以将一些标志传递给 GnuWin32 sed 来处理非 unicode 字符吗?
另一种选择是使用变量语法:
${C:\path\to\your.txt} -replace 'A','B' | Out-File C:\path\to\your.txt
在 PowerShell 中,这样的东西应该可以工作:
$f = 'C:\path\to\your.txt'
(Get-Content $f) -replace 'A','B' | Out-File $f
如果没有看到文件编码,就无法判断这是否会起作用,但这使用了一个名为的帮助批处理文件repl.bat
- http://www.dostips.com/forum/viewtopic.php?f=3&t=3855
type "file.txt" |repl "A" "B" >"newfile.txt"