【问题标题】:DOS to UNIX conversionDOS 到 UNIX 转换
【发布时间】:2016-05-18 14:09:03
【问题描述】:

我有这段代码可以删除 Unix 吸收的回车符 (^M)。以下代码有效,但我不知道如何:

  1. 循环遍历多个 CSV (5),有效地使用 for 循环
  2. 用新文件替换现有文件

    $csv = (Get-Content -Raw *.csv) -replace "`r`n","`n"
    [io.file]::WriteAllText('C:\Powershell\test.csv', $csv)
    

【问题讨论】:

  • 这是在 unix 中吗? bash 中经常有一个dos2unix 程序
  • 这是在 Windows 中。我知道dos2unix,但我正在从批处理过渡到powershell。感谢您的意见。
  • @Steve 不是。他已经完成了转换。问题是关于如何将其应用于多个文件。

标签: csv powershell line-endings


【解决方案1】:

您发布的代码将获取所有 CSV 文件并将它们连接到单个输出文件。您需要单独枚举和处理文件。也不需要在变量中收集内容。只需将修改后的内容通过管道传输到Set-Content

Get-ChildItem 'C:\some\folder' -Filter *.csv | ForEach-Object {
  (Get-Content -Raw $_.FullName) -replace "`r`n", "`n" | Set-Content $_.FullName
}

【讨论】:

    猜你喜欢
    • 2010-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多