【发布时间】:2018-11-28 07:38:34
【问题描述】:
我需要一些关于使用 Power Shell 在 Azure 数据湖存储中处理文件的输入。
我的 ADLS Gen 1 帐户中有一个以竖线分隔的输入文件。
文件内容如下所示
1|2|3|a,b,
3|4|5|d,h,
我可以使用以下代码在本地 PC 中使用 powershell 删除最后一个逗号
Get-Content $file_name | ForEach-Object {$_.TrimEnd(",") }
但是,当我对 Azure Data Lake Storage Gen 1 Account 中的同一个文件运行相同的查询时,数据没有任何反应。我使用的代码是
Get-AzureRmDataLakeStoreItemContent -Account $accountName -Path $myrootdir/path/test.csv| ForEach-Object {$_.TrimEnd( ",") }
我的一个观察是 ForEach-Object 只返回一次。也就是说,如果我在 ForEach-Object 循环中打印 hello 它只打印一个。但是我通过运行 -Head 和 -Tail 命令验证了没有换行问题。我附上了相同的屏幕截图。
您能帮我理解我在这里做错了什么以及删除每行中最后一个逗号的任何替代方法吗?
【问题讨论】:
-
使用
Get-AzureRmDataLakeStoreItemContent时返回的类型是什么?字符串还是数组? -
您好 Ivan,根据文档,它是字节或字符串。 docs.microsoft.com/en-us/powershell/module/…
标签: azure powershell azure-data-lake