在 PowerShell 中输出一个 "tab"

Output a "tab" in PowerShell

一个简单的 PowerShell 语法问题。

我有一个变量 $content 提供了这个:

id  name    when    ip  msg user_id
50 Felix   2015-07-22 12:51:04 10.1.100.6  "ein link":www.link.de  89

我是这样处理的:

$content -replace '^(.+?)\t"(.+?)"(.+?)$', '`t""""'

我回来了:

id  name    when    ip  msg user_id
50 Felix   2015-07-22 12:51:04 10.1.100.6`t"""ein link":www.link.de  89

但它应该是这样的:

id  name    when    ip  msg user_id
50 Felix   2015-07-22 12:51:04 10.1.100.6   """ein link":www.link.de  89

我尝试了 \t 和 ``t 但没有任何东西可以返回真正的制表符。

你能帮帮我吗?

这是因为您使用的是原义引号 '..',因此反引号不会被视为转义字符。相反,使用 "..." 并使用反引号转义额外的 " 字符:

$content -replace '^(.+?)\t"(.+?)"(.+?)$', "``t`"`"`"``"`"

但是,将选项卡包含在您的第一个捕获组中可能会更简单:

$content -replace '^(.+?\t)"(.+?)"(.+?)$', '""""'