gawk -F\t
可以,但当涉及到时sort
,它失败了。在 Linux 或 Cygwin 下,$'\t'
可以做到这一点。但是,要输入特殊键Tab,没有办法。有人能想出办法吗?
答案1
在 PowerShell 中,转义字符是`
。包含制表符的字符串可以写为
"`t"
答案2
感谢Yahoo,百度和Stack Overflow的朋友们,这个难题终于解决了。
sort -t":" -k1 /var/log/accessfile
这句话给了我一个提示。
现在的答案是所有技巧的组合。
cmd /f:off
sort -t" " -k16 foobar.txt
(制表符位于双引号中)
foobar.txt是一个以制表符分隔的文本文件。
关键是双引号 ( ""
)。
答案3
对于我来说,这是一个首选选项 - 而不必关闭制表符补全或更改映射键(更改为不同的键):-
创建一个“SetTabEV.cmd”脚本 - 将名为“Tab”的环境变量设置为环境变量(- 考虑使其在您的“PATH”内/通过“PATH”保持可访问) - 您始终可以尝试使用适用于 *nix(Linux / UNIX)环境的脚本进行等效操作;例如:
Set Tab=
运行。
然后引用/传递它的值 - '%Tab%';例如:
MyScript.cmd "A%Tab%B%Tab%C"
或者对于 PowerShell:
PowerShell MyScript.ps1 """"A%Tab%B%Tab%C""""
但是对于 PowerShell,可能更喜欢使用少一组引号(-三重引号),方法是使用/传递 PowerShell 制表符转义序列:
PowerShell MyScript.ps1 """A`tB`tC"""
如果您乐意永久拥有一个包含选项卡的环境变量,则可以通过 Windows“高级系统设置”的“环境变量”进行设置,而不必每次都使用脚本。