arrays - 如何使用 Powershell 为文件中的每一行创建一个新数组?
问题描述
我有一个 txt 文件,其当前输出如下所示:
filetest.WIN.txt Wed Feb 10 12:00:37 2021
filetest.VID.avi Wed Feb 10 12:00:51 2021
我基本上需要每一行都是它自己的数组,每个项目由一个空格分隔以组成数组中的项目。所以我可以对每一行的同一个数组项采取行动。
我已经尝试过了,但是它将整个文件放入 1 个大数组中:
$arrayFromFile = Get-Content -Path $Path
$newArray =$arrayFromFile.Split(" ")
$newArray
但输出是这样的:
filetest.WIN.txt
Wed
Feb
10
12:00:37
2021
filetest.VID.avi
Wed
Feb
10
12:00:51
2021
如果它更有效,我也愿意接受其他方式。
解决方案
继续我的评论...
您的代码行可以重构为此。
***笔记:
我正在使用 PowerShell 变量压缩来同时分配给变量和输出。这不是要求,只是一种选择。***
($NewArray = (Get-Content -Path 'D:\Temp\FileData.txt').Split(''))
# Results
<#
filetest.WIN.txt
Wed
Feb
10
12:00:37
2021
filetest.VID.avi
Wed
Feb
10
12:00:51
2021
#>
正如我所说,这是一个数组,您可以通过这样做来确定这一点
$NewArray.GetType()
# Results
<#
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array
#>
或者这样做。
$NewArray[0]
# Results
<#
filetest.WIN.txt
#>
$NewArray[9]
# Results
<#
10
#>
或者这是你的用例......
# The default display
(
$NewDataObject = Import-Csv -Path 'D:\Temp\FileData.txt' -Delimiter ' ' -Header FileName,
DayName,
Month,
DayNumber,
Time,
Year
)
# Results
<#
FileName : filetest.WIN.txt
DayName : Wed
Month : Feb
DayNumber : 10
Time : 12:00:37
Year : 2021
FileName : filetest.VID.avi
DayName : Wed
Month : Feb
DayNumber : 10
Time : 12:00:51
Year : 2021
#>
# Or forced to display as a table.
(
$NewDataObject = Import-Csv -Path 'D:\Temp\FileData.txt' -Delimiter ' ' -Header FileName,
DayName,
Month,
DayNumber,
Time,
Year |
Format-Table -AutoSize
)
# Results
<#
FileName DayName Month DayNumber Time Year
-------- ------- ----- --------- ---- ----
filetest.WIN.txt Wed Feb 10 12:00:37 2021
filetest.VID.avi Wed Feb 10 12:00:51 2021
#>
推荐阅读
- python - Python中有没有办法不使用with语句,也不需要手动调用.close?
- javascript - 组件中的 Next.JS SSR
- cassandra - 避免 cassandra 中的僵尸数据
- jsf - 如何防止在 WebLogic 中使用 JSESSIONID 重写 URL?
- android - iOS/Android Flutter 的区别
- git - git第二次将发布分支合并到主分支的最有效方法
- plsql - 事务管理相关问题
- javascript - 将 Vtt 文件从 express 服务器发送到客户端
- flutter - 通过插入视频链接从 tiktok 下载视频。颤振/飞镖
- eclipse-cdt - eclipse上CppStyle插件的问题