Unix 换行符到 Windows 换行符(在 Windows 上)

2023-12-19

Windows 中是否有一种方法(例如 PowerShell 或工具)可以递归目录并将任何 Unix 文件转换为 Windows 文件。

我对 PowerShell 中至少检测 Unix 文件的方法非常满意。

对一个文件执行此操作很容易,但我想要一些更具可扩展性的东西(因此倾向于 PowerShellish 解决方案)。


如果您有兴趣,这里是纯 PowerShell 方式。

查找至少有一个 Unix 行结尾的文件 (PowerShell v1):

dir * -inc *.txt | %{ if (gc $_.FullName -delim "`0" | Select-String "[^`r]`n") {$_} }

以下是如何查找 Unix 行结尾并将其隐藏为 Windows 行结尾。需要注意的一件重要事情是,如果文件末尾还没有结束行,则会在文件末尾添加一个额外的行结束符 (\r\n)。如果您确实不想这样做,我将发布一个示例来说明如何避免它(它有点复杂)。

Get-ChildItem * -Include *.txt | ForEach-Object {
    ## If contains UNIX line endings, replace with Windows line endings
    if (Get-Content $_.FullName -Delimiter "`0" | Select-String "[^`r]`n")
    {
        $content = Get-Content $_.FullName
        $content | Set-Content $_.FullName
    }
}

上面的方法之所以有效,是因为 PowerShell 会自动分割 \n 上的内容(如果存在则删除 \r),然后在将每个内容(在本例中为一行)写入文件时添加 \r\n。这就是为什么您总是以文件末尾结尾的行结束。

另外,我编写了上面的代码,以便它只修改它需要的文件。如果你不关心这个,你可以删除if陈述。哦,确保只有文件才能到达ForEach-对象 https://learn.microsoft.com/en-us/powershell/module/Microsoft.PowerShell.Core/ForEach-Object。除此之外,您可以在管道开始时执行任何您想要的过滤。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unix 换行符到 Windows 换行符(在 Windows 上) 的相关文章

  • 无法在 Powershell 中运行 R.exe

    我经常发现在命令行 Windows 上运行 R 更有用 然而 当我在 Powershell 中尝试时 我往往会遇到问题 但这可以通过第一次运行轻松克服cmd然后就可以了 这是我执行此操作时遇到的错误R CMD BATCH Invoke Hi
  • 在 C# 中检查 PowerShell 执行策略的最佳方法是什么?

    当你跑步时Get ExecutionPolicy在 PowerShell 中 它得到有效的执行政策 https learn microsoft com en us powershell module microsoft powershell
  • PowerShell 中转义反引号“`”和反斜杠“\”有什么区别?

    我知道两者都在 PowerShell 中使用 但用于不同的上下文 互联网上关于这个主题的信息很少 唯一谈论这个主题的网站 没有让我理解这个概念 是 https www rlmueller net PowerShellEscape htm h
  • Invoke-Sqlcmd 运行脚本两次

    我遇到了一个非常奇怪的问题并且可以重复 基本上 我使用invoke sqlcmd通过使用 inputfile来调用脚本文件 但是如果脚本文件存在一些执行错误 例如插入到列不应为空的表中 则脚本文件将被执行两次 我也可以从探查器中看到这两个执
  • 全局变量用例

    我有几个脚本和模块 它们使用全局变量来完成很多事情 我的日志记录可以采用以下三种形式之一 简洁 详细和验证 没有实际操作的详细日志记录 仅验证提供的数据 我还有许多函数 它们根据运行的上下文 用户或机器 而做出不同的响应 并且正在执行的操作
  • PowerShell 脚本,用于将超过 x 天的文件和文件夹(包括子文件夹)从一个位置移动到另一个位置

    我开发了一个 PowerShell 脚本 它运行得非常好 唯一的挑战是子文件夹中的文件没有移动到目的地 get childitem Path servername location where object LastWriteTime lt
  • 相当于 UNIX diff 和 patch 的本机 PowerShell

    我需要潜在地修补文件作为脚本的一部分 为了使脚本所做的事情更具可读性 我想以类似于 UNIX diff 和 patch 方法的方式来实现它 在标准 UNIX 系统上 diff 可以生成特殊格式的文本文件 表示两个文件之间的差异 这可以与要修
  • 用于检查 URL 状态的 PowerShell 脚本

    与此问题类似 https stackoverflow com questions 18500832 script to check the status of a url我正在尝试监视一组网站链接是否已启动并运行或没有响应 我在 Inter
  • 从输出中删除空行

    我有这个脚本 for true Write Host Get Date UFormat Y m d H M S ping n 1 10 10 50 203 Select String SimpleMatch Pinging Context
  • 在 emacs 的文件中不断出现的这些 ^M 是什么?

    我认为这可能与 TextMate 有关 但我们在一个小团队中工作 并且在 git 中几乎相同的文件的全文件冲突方面遇到了一些问题 在一个分支中 文件的每一行都附加了 M 这是什么神秘的事 M角色应该做什么 它从哪里来 我们的开发人员在 Wi
  • 使用 powershell 版本 2 查询 AD

    我们有由 Windows 7 和 Windows 10 组成的混合桌面操作系统 我有一个登录脚本 该脚本从每次用户登录时运行的 powershell 脚本收集各种信息 Windows 7 powershell 仅是版本 2 这意味着我无法使
  • PowerShell 脚本 ffmpeg

    作为一名优秀的 Windows 系统管理员 我终于开始学习 PowerShell 话虽这么说 我不知道我在做什么 惊讶 惊讶 我认为远离生产环境 在家里使用 PowerShell 对我来说将是一次很好的学习经历 最近 我开始使用 FFMPE
  • 如何在 PowerShell 中远程执行 ELEVATED 远程脚本

    我有两台服务器 serverA Windows 2003 服务器 serverB Windows 7的 ServerA包含一个带有批处理文件 deploy bat 的文件夹 需要从提升的 powershell 提示符执行该批处理文件 在Se
  • System.IO.FileInfo 的“目标”成员记录在哪里?

    PowerShell 命令行开关Get Item 如果应用于文件 则返回System IO FileInfo type PS C gt item get item c windows System32 atl dll PS C gt ite
  • Powershell脚本将多个远程地址添加到防火墙规则

    我正在尝试编写一个脚本 该脚本将循环遍历本地防火墙规则并更新远程地址表 这是我到目前为止所拥有的 它不起作用 应该很简单 所以不确定发生了什么 该脚本运行时没有错误 但实际上并没有更新任何内容 name Get NetFirewallRul
  • 如何使用卸载路径卸载 MSI

    我正在尝试获取一组应用程序的卸载路径并卸载它们 到目前为止 我得到了卸载路径列表 但我很难真正卸载这些程序 到目前为止我的代码是 app msi1 msi2 msi3 msi4 Regpath HKLM Software Microsoft
  • Dymola、空白和版本控制

    我在 Dymola 中打开了一个 Modelica 库 更改了一行 关闭 Dymola 并单击 全部保存 现在 TortoiseSVN 显示了数百个已更改的文件 而不是仅显示一个文件 其中更改了我想要执行的一行 所有这些变化要么是空格 要么
  • powershell xml排序节点和替换子节点

    我正在尝试使用 powershell 和 xml 做一些非常简单的事情 但没有遇到任何麻烦 基本上我试图采用以下 xml 并按名称对机器元素进行排序 然后将它们放回到 XML 中 以便我可以保存回文件中 如果输出 new 对象 排序似乎有效
  • 无法使用 Powershell 2.0 压缩文件

    Q1 我尝试了几种压缩方法 但在我的机器上都不起作用 我只能使用外部压缩工具 7z exe 来压缩文件 但我没有权限在 serverA 中安装 7z exe 文件 也没有权限将 powershell 更新到 v5 目前使用powershel
  • EWS - 访问共享日历项目/约会

    我正在尝试获取共享日历的所有项目 我已关注EWS 访问所有共享日历 https stackoverflow com questions 23766747 ews access all shared calendars 23773834 23

随机推荐

  • 插入数百万条记录时如何防止 SQL Server 中的日志增长

    我有一个插入查询 需要插入 5000 万条记录 但是当我执行此查询时 我的数据库日志文件增长到 100GB 并因磁盘已满而停止 如何防止日志文件增长 似乎使用 WITH TABLOCK 时查询不会记录 我解决了 希望能为您工作 查询将如下所
  • IMvxAndroidCurrentTopActivity 是单例吗?

    IMvxAndroidCurrentTopActivity可用于获取 MvvmCross Android 应用程序中当前的顶级活动 问题是 一旦顶级 Activity 发生变化 MvvmCross 是否会立即创建该接口的新实例 还是重用该接
  • 我应该如何写类? C++

    嘿 我真的不明白 我读了一篇关于 C 类的教程 但我没有得到一些信息 在我见过的每个示例和教程中 函数从来都不是在类中编写的 例如 为什么要写这样一个类 include
  • 是否需要初始化?

    在VHDL中 创建信号或向量时是否需要初始化 如果忘记初始化信号或整数值会发生什么 In 模拟 如果你这样做not设置一个初始值 向量的每个元素都会得到default值 这是由 VHDL 语言规范定义的 对于枚举类型 这是枚举类型中定义的第
  • 如何使用 Maven 的中央存储库部署我的开源项目? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我可以做些什么来将我自己的开源内容放入 Maven 的中央存储库中吗 我多次想知道如何将我自己的项目放
  • Android - 我应该使用多个活动还是多个内容视图

    我是安卓新手 我正在开发一个使用 xml 布局的应用程序 我想知道哪个更好 1 使用少量的 Activity 并改变其内容视图 2 为每个需要的 视图 使用一个活动 如果两者都有效 在这种情况下哪个选项会更好 多谢 一般规则是使用多项活动
  • ASP.Net Core 与 EF Core 和 CosmosDB - IdentityRole 问题

    我正在尝试将我的 asp net core 应用程序从使用 Azure SQL 数据库迁移到使用 CosmosDB 数据库 尝试创建集合时遇到问题并显示以下错误消息 System InvalidOperationException 实体类型
  • NumPy 中的 cumsum 函数在相加时会衰减吗?

    我有一个值数组a 2 3 0 0 4 3 y 0 for x in a y y x 95 有什么办法可以使用吗cumsum in numpy并在添加下一个值之前对每一行应用 0 95 衰减 你要求一个简单的IIR滤波器 https en w
  • Java转换format.String

    我对 Java 还是新手 我想知道是否有任何方法可以在不四舍五入的情况下格式化为双精度 例子 double n 0 12876543 String s String format 1 1 2f n 如果我要打印到系统 它将返回 0 13 而
  • 如何将流或写入器参数传递给 Zig 中的函数?

    我试图将输出流传递给函数 但无法正确执行 这个示例代码展示了我尝试过的一些事情 Attempts to pass stream or writer to a function const std import std pub fn main
  • 获取 iOS/swift 中当前屏幕的屏幕截图以供共享[重复]

    这个问题在这里已经有答案了 我想在手机上启用一项功能 允许用户单击共享 然后他们可以向朋友发送一条默认包含应用程序图片的消息 就在用户单击共享之前 我不知道如何做到这一点 每当我搜索如何做到这一点时 我得到的都是有关如何在手机照片库或通过相
  • Zend_pdf 文档由于存在 html 内容而在 magento 中抛出错误

    在magento1 7中 只需在 app code core Mage Wishlist Helper Data php Data php 文件中写入以下行 public function getpdf pdf new Zend Pdf f
  • mysql自定义排序依据混合数据类型

    在下面的 mysql 查询中 我使用自定义 order by 语句 这样我就可以按特定顺序而不是按字母顺序显示各种大小 select distinct size from product p left join productsizes p
  • Python:正则表达式 findall 返回一个列表,为什么尝试访问列表元素 [0] 会返回错误?

    以下摘自文档 是一个片段 显示了正则表达式方法 findall 的工作原理 并确认它确实返回一个列表 re findall r w ly text carefully quickly 然而 以下代码片段会生成越界错误 IndexError
  • 验证多个输入中的文件大小和类型

    我有 3 个输入文件 我想在一个提交按钮表单事件 onSubmit 中对 3 个输入文件进行 JavaScript 验证
  • Apache 删除“授权”标头

    我的 Apache 2 2 15 服务器有一个小问题 我正在使用 mod wsgi 在其上运行 Django 应用程序 我激活了WSGIPassAuthorization On 这使得基本身份验证运行良好 但我最近实现了 OAuth2 0
  • 切换到使用子密钥后,如何验证 GitHub 上的提交?

    我在我的主 Windows 计算机上安装了 GnuPG 并创建了主密钥 我当时就傻了 在git中使用了主密钥作为签名密钥 并将其公钥上传到了GitHub 这些提交在 GitHub 上显示为 已验证 后来我改变了主意 生成了一个新的子密钥 将
  • Google Sheet 查询 - 分组/连接多行

    我正在运行一个QUERY with a SUM and GROUP BY 但我想将行中的多个不同值聚合到单个行和列中 我希望将所有这些值连接在一起 当前表 Person Widget Count Bill Red 12 Bill Blue
  • 使用 Fluent Nhibernate 映射自定义枚举类

    Reading some http www lostechies com blogs jimmy bogard archive 2008 08 12 enumeration classes aspx posts http www loste
  • Unix 换行符到 Windows 换行符(在 Windows 上)

    Windows 中是否有一种方法 例如 PowerShell 或工具 可以递归目录并将任何 Unix 文件转换为 Windows 文件 我对 PowerShell 中至少检测 Unix 文件的方法非常满意 对一个文件执行此操作很容易 但我想