解析字符串|文件名

时间:2018-02-07 16:02:41

标签: string file powershell parsing archive

我的文件看起来像这样:

aaa-xxx-random1.xml
aaa-xxx-random2.xml
aaa-yyy-random3.xml
aaa-zzz-random4.xml
aaa-zzz-random5.xml

如何在PowerShell中解析它以获取变量中的第二个三元组?

预期输出:

xxx
xxx
yyy
zzz
zzz

在shell中:

for f in `ls`; do
  echo $f | cut -d "-" -f 2
done

这样做的目的是创建一个由trigram命名的存档,并将同一系列中的所有XML文件移动到创建的存档中。

1 个答案:

答案 0 :(得分:5)

将文件名拆分为连字符,然后选择结果数组的第二个元素:

Get-ChildItem | ForEach-Object { ($_.Name -split '-')[1] }

或(使用别名)

ls | % {($_.Name -split '-')[1]}