在 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)"(.+?)"(.+?)$', '""""'
一个简单的 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)"(.+?)"(.+?)$', '""""'