powershell - 需要使用powershell从csv中的行中删除特定部分
问题描述
我有一个包含两列和多行的 csv 文件,其中包含具有文件夹位置及其相应大小的文件的信息,如下所示
"Folder_Path","Size"
"C:\MSSQL\DATA\UsersData\FTP.txt","21345"
"C:\MSSQL\DATA\UsersData\Norman\abc.csv","78956"
"C:\MSSQL\DATA\UsersData\Market_Database\123.bak","1234456"
我想要做的是从 csv 中的每一行中删除“C:\MSSQL\DATA\”部分,并在从 UsersData 和所有其他数据开始后保留文件夹路径的其余部分,因为此信息是重复的。所以我的 csv 应该像下面这样。
"Folder_Path","Size"
"UsersData\FTP.txt","21345"
"UsersData\Norman\abc.csv","78956"
"UsersData\Market_Database\123.bak","1234456"
我正在运行的内容如下
Import-Csv ".\abc.csv" |
Select-Object -Property @{n='Folder_Path';e={$_.'Folder_Path'.Split('C:\MSSQL\DATA\*')[0]}}, * |
Export-Csv '.\output.csv' -NTI
任何帮助表示赞赏!
解决方案
似乎是一个简单的字符串替换的工作:
Get-Content "abc.csv" | foreach { $_.replace("C:\MSSQL\DATA\", "") | Set-Content "output.csv"
或者:
[System.IO.File]::WriteAllText("output.csv", [System.IO.File]::ReadAllText("abc.csv" ).Replace("C:\MSSQL\DATA\", ""))
推荐阅读
- scala - 无法使用 scala-play 发布请求在文本区域内获取表单数据
- python - 在python中使用gzip压缩大文件
- java - 在生产环境中关闭开放 API 规范
- javascript - 为什么 toFixed() 在我的 React 功能组件中不起作用?
- r - 使用 summarise 和 for 循环从字符向量中获取列名
- ms-access - 如果另一个查询中没有行,则 MS Access 查询变为空白
- azure-devops - 导入到 azure 时如何自动更新 git 存储库?
- autocomplete - 如何使 zsh 函数的自动建议使用语法突出显示
- java - 当我尝试通过“javac”命令编译 file.java 时,它给了我“找不到文件”错误,尽管我已经完成了 JDK 的路径和变量
- java - ClassA 上的 Mockito,模拟 ClassB 的修改状态