我的文件看起来像这样:
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文件移动到创建的存档中。
答案 0 :(得分:5)
将文件名拆分为连字符,然后选择结果数组的第二个元素:
Get-ChildItem | ForEach-Object { ($_.Name -split '-')[1] }
或(使用别名)
ls | % {($_.Name -split '-')[1]}