在powershell的列中处理带有换行符的CSV

2024-05-15

目前,我有一个系统,它创建一个像下面这样的分隔文件,在其中我模拟了偶尔出现在列中的额外换行符。

列 1、列 2、列 3、列 4

文本1、文本2[LF]、文本3[LF]、文本4[CR][LF]

文本1、文本2[LF][LF]、文本3、文本4[CR][LF]

文本1、文本2、文本3[LF][LF]、文本4[CR][LF]

文本1、文本2、文本3[LF]、文本4[LF][LF][CR][LF]

我已经能够通过使用 Notepad++ 使用以下 REGEX 忽略有效的回车/换行组合来删除引起我担忧的换行:

(?<![\r])[\n]

但是,我无法使用 powershell 找到解决方案,因为我认为当我获取 csv 文件的内容时,文本字段中的换行符将被忽略,并且该值作为单独的对象存储在分配给 get-content 的变量中行动。我的问题是,如果 cmdlet 在加载数据时忽略换行符,如何使用替换将正则表达式应用到 csv 文件?

我还尝试了下面的方法来加载 csv 的内容,该方法也不起作用,因为它只会产生一个长字符串,这与使用 -join(get-content) 类似。

[STRING]$test = [io.file]::ReadAllLines('C:\CONV\DataOutput.csv')
$test.replace("(?<![\r])[\n]","")
$test | out-file .\DataOutput_2.csv


差不多了,我可以建议做 3 处改变:

  • use ReadAllText(…) instead https://stackoverflow.com/a/2965533/653295 of ReadAllLines(…)
  • use -replace …代替.Replace(…),只有这样第一个参数才会被视为regex
  • do具有替换结果的东西(例如将其分配回$test)

示例代码:

[STRING]$test = [io.file]::ReadAllText('C:\CONV\DataOutput.csv')
$test = $test -replace '(?<![\r])[\n]',''
$test | out-file .\DataOutput_2.csv
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在powershell的列中处理带有换行符的CSV 的相关文章

随机推荐

  • Javascript 原型访问另一个原型函数

    function Scroller id this ID id this obj id this currentSlide 1 var self this setInterval self nextSlide 1000 Scroller p
  • iPhone AVFoundation 相机方向

    我一直在绞尽脑汁地试图让 AVFoundation 相机以正确的方向 即设备方向 捕获图片 但我无法让它工作 我看过教程 看过 WWDC 演示 还下载了 WWDC 示例程序 但即使这样也没有成功 我的应用程序的代码是 AVCaptureCo
  • 获取可用内容提供商的列表

    有没有一种方法可以以编程方式列出所有可用的内容提供商 http developer android com guide topics providers content providers html在设备上 没有真正的用例 我只是认为看看我
  • 在 Three.js 中从 Web Worker 加载纹理

    当将大纹理图像应用到网格上一段明显的时间时 Three js 会锁定浏览器的主线程 让我们考虑以下示例 var texLoader new THREE TextureLoader texLoader load someLargeTextur
  • “没有可用的二元红宝石”是什么意思?

    每当我使用rvm install x x x 即使安装成功 我也会收到此警告 No binary rubies available for osx 10 12 x86 64 ruby 2 4 0 Continuing with compil
  • 如何将 Tableau 提取数据转换为 csv(或 xls)

    我已成功从 Tableau 转换 twbx文件至 twb现在有一个 tde数据文件 这怎么可以 tde被转换为 csv or xls x 从版本 10 3 开始 您还可以从 数据 菜单导出为 CSV 该命令导出整个数据源 而工作表菜单上的导
  • Tridion 2009 模板发布失败

    在 Tridion 2009 中 我们在尝试发布页面 NET 时刚刚开始遇到一些错误 一开始是间歇性的经典 RenderComponentPresentation 超出了渲染失败的最大数量 0 错误 然后发展为完全失败 我们可以正确预览页面
  • onBackPressed - 避免破坏 Activity

    我有两个活动 活动 A 启动活动 B 然后活动 B 从数据库加载一些内容 并将数据可视化 完全初始化 B 中的所有内容需要一些时间 5 10 秒 我的问题是 如果我按 B 中的后退按钮 它会销毁 B 活动 调用 onDestroy 并返回到
  • Composer 无法下载文件

    我正在尝试在命令行上使用作曲家 php composer phar update php composer phar install php composer phar self update php composer phar selfu
  • Android 4.4 上使用反射上传文件的解决方法

    从 Android 4 1 到 Android 4 3 您可以子类化WebChromeClient在Android上并实现以下内容 隐藏 因此没有 Override 方法 public void openFileChooser ValueC
  • 是否有一种加密技术可以将 8 位数字变成 10 或 11 位或更少的数字?

    我见过的许多加密技术都可以轻松加密一个简单的 8 位数字 如 12345678 但结果通常是 8745b34097af8bc9de087e98deb8707aac8797d097f 编造的 但你明白了 有没有办法加密这个 8 位数字 但生成
  • AWS JS SDK TypeError:STS 不是构造函数

    我有一个 ReactJS 应用程序 它使用 aws sdk 进行认知登录 我用了yarn安装所有模块 但是当我尝试访问 localhost 的网站时 出现 JS 错误 未捕获 承诺中 类型错误 STS 不是构造函数 错误指向该行aws sd
  • 如何从 DTrace 脚本打印 NSString

    This question https stackoverflow com questions 1413623 how do i print a cfstringref in a dtrace action正在问同样的事情 但是当我尝试时
  • 如何从 Java 发送 SMTP 消息? [复制]

    这个问题在这里已经有答案了 可能的重复 如何使用 Gmail 从 Java 应用程序发送电子邮件 https stackoverflow com questions 46663 how do you send email from a ja
  • 如何合并多个Excel文件,每个Excel文件中有多个相同数量的工作表

    我目前可以将多个 Excel 文件合并到一张表中 我想合并每个 Excel 文件中具有两个不同工作表的多个工作表 并为每个工作表指定名称我怎样才能实现这个目标 下面是我当前的代码 用于将多个 Excel 文件中的单个工作表组合在一起 而无需
  • 如何从 Delphi 中的函数返回对象而不导致访问冲突?

    我有一个返回 TStringList 的 delphi 函数 但是当我返回一个值并尝试使用它时 我收到一个访问冲突错误 即 myStringList FuncStringList myStringList Items Count lt Th
  • 如何无限地每1分钟运行一个iOS应用程序?

    我制作了一个应用程序 需要每 1 分钟向服务器发送一次位置和状态更新 我尝试了以下方法 但没有一个能帮助我 有什么解决办法吗 1 NSTimer 很多人建议这样做 但问题出在后台模式上 它只能工作 20 分钟 该应用程序停止发送数据后 2
  • Amazon MWAA Airflow - 任务容器在没有日志的情况下关闭/停止/终止

    我们使用 Amazon MWAA Airflow 很少有任务标记为 FAILED 但根本没有日志 就好像容器在我们没有注意到的情况下被关闭了一样 我找到了这个链接 https cloud google com composer docs h
  • 创建具有特定权限的线程C++

    我有一个多线程应用程序 我想创建一个具有不同用户权限的线程 例如 多域管理员权限 但我找不到任何 Win32 APICreateThread要做到这一点 如何创建具有特定用户权限的线程 thanks 调用 CreateThread CREA
  • 在powershell的列中处理带有换行符的CSV

    目前 我有一个系统 它创建一个像下面这样的分隔文件 在其中我模拟了偶尔出现在列中的额外换行符 列 1 列 2 列 3 列 4 文本1 文本2 LF 文本3 LF 文本4 CR LF 文本1 文本2 LF LF 文本3 文本4 CR LF 文