我正确使用Powershell TrimEnd吗?

时间:2013-02-13 21:31:58

标签: sql-server powershell

我正在尝试使用Powershell获取一些原始数据并将其按到SQL插入语句中。第一项业务是在每行原始数据的末尾删除两个逗号(在数据之前和之后单独使用SQL代码之前)。我一直在玩Powershell的'TrimEnd'来尝试完成这项工作,但是下面的迭代似乎并没有删除行末尾的第一个逗号:

Sample 1 - (get-content -ErrorAction "Stop" source-file.txt) | Foreach-Object -ErrorAction "Stop" {$_.TrimEnd()} | out-file destination-file.sql

Sample 2 - (get-content -ErrorAction "Stop" source-file.txt) | Foreach-Object -ErrorAction "Stop" {$_.TrimEnd(',')} | out-file destination-file.sql

Sample 3 - (get-content -ErrorAction "Stop" source-file.txt) | Foreach-Object -ErrorAction "Stop" {$_.TrimEnd(",")} | out-file destination-file.sql

Sample 4 - (get-content -ErrorAction "Stop" source-file.txt) | Foreach -ErrorAction "Stop" {$_.TrimEnd()} | out-file destination-file.sql

source-file.txt看起来像这样:

foo,foo1,foo2,foo3,foo4,foo5 ,,

我希望最终得到的是:

foo,foo1,foo2,foo3,foo4,foo5,

时间200K

问题是我没有逃脱角色,或者是'Foreach / Foreach-Object'不是去这里的方法吗?在删除source-file.txt文件末尾的两个逗号之前,我想确保我走的是正确的路径。

1 个答案:

答案 0 :(得分:0)

我一定是厌倦了某些东西或者长时间盯着屏幕但是我从@ Musaab-Al-Okaidi的建议中利用了#2。我利用{$_.TrimEnd(', ,')}来获得我正在做的事情。干杯!