在PowerShell中实际上是初学者。我想将shell脚本转换为powershell。
我有 PCM:
rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
个文件,其中包含3行。我想在不同的变量中选择每个单词,以及在next if条件下需要使用哪些变量。
sample.txt
我已经有了shell脚本:
get-content sample.txt
wordone|secondword|thridword|fourthword
wordone1|secondword1|thridword1|fourthword1
wordone2|secondword2|thridword2|fourthword2
请帮我解释如何将shell转换为powershell。
答案 0 :(得分:0)
这是你在找什么?
$textfile = get-content "sample.txt"
$sample = "sample.txt"
for ($i=0;$i -lt $textfile.count;$i++){
$textrow = ($textfile[$i]).split("|")
$dir = $textrow[0]
$metadata_name = $textrow[1]
$metadata_file = $textrow[2]
$config_file = $textrow[3]
If($config_file -ne ""){
New-Item $dir/ConfigurationPlan -type directory -force
$sample | Out-File "$dir/ConfigurationPlan/$($config_file)_sample.xml"
}
}
答案 1 :(得分:0)
我会将您的set
文件视为csv文件,并将Import-Csv与devtools::install_github("thomasp85/ggraph#78")
和.\sample.txt
参数一起使用。
然后迭代行检查-Delimiter '|'
并存在要复制的文件。
-Header dir,metadata_name,metadata_file,config_file
示例输出:
dir
如果输出看起来没问题,请删除Copy-Item
的$Sample = Import-Csv sample.txt -delimiter '|' -Header dir,metadata_name,metadata_file,config_file
$Sample
"----"
ForEach ($Line in $Sample){
if ($Line.config_file -ne ""){
$File = "$($line.dir).xml"
"config_file is $($Line.config_file) checking $File"
if (Test-Path $File){
Copy-ITem -Path $File -Destination "folder1\" -whatif
}
}
}
参数