sedを使用して次のPowerShellスクリプトを試しました。
[array declarations]
Foreach ($var in $double)
{
$command = $command + " -e "
$command = $command + "s/$var/sMOS3double\[$var\]\[index\]/"
}
$command = $command + " mos3load_fun_09052012.c > poZamianie.txt"
**echo $command**
sed $command
残念ながら、エラーが返されます。
**./Renamer.ps1**
-e 's/vds/sMOS3double\[vds\]\[index\]/' -e 's/vbs/sMOS3double\[vbs\]\[index\]/' -e 's/vgs/sMOS3double\[vgs\]\[index\]/
' -e 's/vbd/sMOS3double\[vbd\]\[index\]/' -e 's/vgd/sMOS3double\[vgd\]\[index\]/' -e 's/vt/sMOS3double\[vt\]\[index\]/'
-e 's/EffectiveWidth/sMOS3double\[EffectiveWidth\]\[index\]/' -e 's/EffectiveLength/sMOS3double\[EffectiveLength\]\[in
dex\]/' -e 's/OxideCap/sMOS3double\[OxideCap\]\[index\]/' -e 's/Beta/sMOS3double\[Beta\]\[index\]/' -e 's/cdrain/sMOS3d
ouble\[cdrain\]\[index\]/' -e 's/vdsat/sMOS3double\[vdsat\]\[index\]/' -e 's/von/sMOS3double\[von\]\[index\]/' mos3load
_fun_09052012.c > poZamianie.txt
**sed.exe: -e expression #1, char 2: unknown command: `-'**
''、 ""の構成を使用するか、区切り文字をまったく使用せずに一生懸命試しましたが、成功しませんでした。
ただし、PSコンソールからエコーされた出力をコピーし、コンソールで引数として再度渡しました。
**sed** -e s/vds/sMOS3double\[vds\]\[index\]
/ -e s/vbs/sMOS3double\[vbs\]\[index\]/ -e s/vgs/sMOS3double\[vgs\]\[index\]/ -e s/vbd/sMOS3double\[vbd\]\[index\]/ -e s
/vgd/sMOS3double\[vgd\]\[index\]/ -e s/vt/sMOS3double\[vt\]\[index\]/ -e s/EffectiveWidth/sMOS3double\[EffectiveWidth\]\
[index\]/ -e s/EffectiveLength/sMOS3double\[EffectiveLength\]\[index\]/ -e s/OxideCap/sMOS3double\[OxideCap\]\[inde\]/ -
e s/Beta/sMOS3double\[Beta\]\[index\]/ -e s/cdrain/sMOS3double\[cdrain\]\[index\]/ -e s/vdsat/sMOS3double\[vdsat\]\[inde
x\]/ -e s/von/sMOS3double\[von\]\[index\]/ mos3load_fun_09052012.c > poZamianie.txt
スクリプトは正しく実行されました。
誰でもこの行動を説明できますか?または、PowerShellを使用してそのスクリプトを直接実行する方法を示しますか?